由于AEM中的Java版本不匹配,TCP定位器无法启动
在集群环境中安装Adobe Experience Manager (AEM) Forms v6.5 SP23时,TCP (传输控制协议)定位器无法启动,因为它要求SP22修补程序之后安装JDK (Java开发工具包) 17或更高版本,而其他组件(如JBoss和AEM Forms)则使用JDK 11。 要解决此问题,请在启动TCP定位器之前将JAVA_HOME设置为JDK 17。
描述 description
环境
- 产品: Adobe Experience Manager (AEM) - Forms 6.5 SP23版
- 实例:群集环境
问题/症状
-
在群集环境中使用
gfsh.bat启动TCP定位器失败。 -
该错误表示类是由较新的Java运行时(类文件版本61.0)编译的,但只能识别最高版本55.0的类。
-
运行
java -version可确认正在使用JDK 11而不是JDK 17。 -
启动期间出现以下错误:
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)
解决方法 resolution
请按照以下步骤解决问题:
- 在系统中安装JDK 17(如果尚未安装)。
- 在启动TCP定位程序之前,将
JAVA_HOME设置为 JDK 17 安装目录。 - 启动TCP定位器进程。
- 启动TCP定位器后,将应用程序服务器(例如,JBoss)和AEM Forms的
JAVA_HOME重置为JDK 11。 - 使用所需的Java版本启动应用程序服务器和AEM Forms。
- 验证TCP定位器和所有服务是否成功启动且没有Java兼容性错误。
注意:
- 由于Spring Core漏洞修复,群集环境中的SP22修补程序之后的TCP定位器需要JDK 17。
- 每个组件必须通过在运行时更新
JAVA_HOME以与其兼容的Java版本开始。
相关阅读
AEM用户指南中的AEM Forms on JEE的支持平台
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f