El localizador TCP no se puede iniciar debido a la discrepancia de versiones de Java en AEM
Al instalar Adobe Experience Manager (AEM) Forms, v6.5 SP23 en un entorno agrupado, el localizador de TCP (Transmission Control Protocol) no se inicia porque requiere JDK (Java Development Kit) 17 o superior después de la revisión SP22, mientras que otros componentes, como JBoss y AEM Forms, utilizan JDK 11. Para resolver el problema, establezca JAVA_HOME en JDK 17 antes de iniciar el localizador TCP.
Descripción description
Entorno
- Producto: Adobe Experience Manager (AEM) - Forms, versión 6.5 SP23
- Instancia: Entorno en clúster
Problema/Síntomas
-
Error al iniciar el localizador TCP con
gfsh.baten un entorno agrupado. -
El error indica que una clase fue compilada por un Java Runtime más reciente (archivo de clase versión 61.0), pero solo se reconoce hasta la versión 55.0.
-
La ejecución de
java -versionconfirma que se está utilizando JDK 11 en lugar de JDK 17. -
El siguiente error aparece durante el inicio:
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)
Resolución resolution
Siga estos pasos para resolver el problema:
- Instale el JDK 17 en su sistema si no está instalado.
- Antes de iniciar el localizador TCP, establezca
JAVA_HOMEen el directorio de instalación de JDK 17. - Inicie el proceso Localizador TCP.
- Después de iniciar el localizador TCP, restablezca
JAVA_HOMEa JDK 11 para su servidor de aplicaciones (por ejemplo, JBoss) y AEM Forms. - Inicie el servidor de aplicaciones y AEM Forms con las versiones de Java que sean necesarias.
- Compruebe que el localizador TCP y todos los servicios se inician correctamente sin errores de compatibilidad con Java.
Notas:
- Se requiere JDK 17 para el localizador TCP después de la revisión SP22 en entornos agrupados debido a las correcciones de vulnerabilidades de Spring Core.
- Cada componente debe iniciarse con su versión de Java compatible al actualizar
JAVA_HOMEen tiempo de ejecución.
Lectura relacionada
Plataformas compatibles con AEM Forms en JEE en la guía del usuario de AEM