Falha ao iniciar o localizador de TCP devido à incompatibilidade de versões do Java no AEM
Ao instalar o Adobe Experience Manager (AEM) Forms, v6.5 SP23 em um ambiente em cluster, o localizador TCP (Transmission Control Protocol) falha ao iniciar porque requer o JDK (Java Development Kit) 17 ou superior após o Hotfix do SP22, enquanto outros componentes, como o JBoss e o AEM Forms, usam o JDK 11. Para resolver o problema, defina JAVA_HOME como JDK 17 antes de iniciar o Localizador TCP.
Descrição description
Ambiente
- Produto: Adobe Experience Manager (AEM) - Forms, v6.5 SP23
- Instância: ambiente clusterizado
Problema/Sintomas
-
Falha ao iniciar o Localizador TCP usando
gfsh.batem um ambiente clusterizado. -
O erro indica que uma classe foi compilada por um Java Runtime mais recente (arquivo de classe versão 61.0), mas somente até a versão 55.0 é reconhecida.
-
A execução de
java -versionconfirma que o JDK 11 está sendo usado em vez do JDK 17. -
O seguinte erro é exibido durante a inicialização:
code language-none Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/util/Assert has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1021) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at org.springframework.shell.support.logging.HandlerUtils.getLogger(HandlerUtils.java:49) at org.springframework.shell.core.SimpleParser.<clinit>(SimpleParser.java:54) at org.apache.geode.management.internal.cli.Launcher.<clinit>(Launcher.java:84)
Resolução resolution
Siga estas etapas para resolver o problema:
- Instale o JDK 17 no sistema se ainda não estiver instalado.
- Antes de iniciar o Localizador TCP, defina
JAVA_HOMEpara o diretório de instalação do JDK 17. - Inicie o processo do localizador de TCP.
- Depois de iniciar o Localizador de TCP, redefina o
JAVA_HOMEcomo JDK 11 para o servidor de aplicativos (por exemplo, JBoss) e o AEM Forms. - Inicie o servidor de aplicativos e o AEM Forms usando suas versões do Java necessárias.
- Verifique se o Localizador TCP e todos os serviços foram iniciados com êxito sem erros de compatibilidade com Java.
Notas:
- O JDK 17 é necessário para o localizador TCP após o SP22 Hotfix em ambientes clusterizados devido a correções de vulnerabilidade do Spring Core.
- Cada componente deve começar com sua versão compatível do Java, atualizando
JAVA_HOMEno tempo de execução.
Leitura relacionada
Plataformas com suporte para o AEM Forms no JEE no guia do usuário do AEM