TCP-Locator kann nicht gestartet werden, da die Java-Version in AEM nicht übereinstimmt
Bei der Installation von Adobe Experience Manager (AEM) Forms, v6.5 SP23 in einer Cluster-Umgebung kann der TCP-Locator (Transmission Control Protocol) nicht gestartet werden, da er JDK (Java Development Kit) 17 oder höher nach dem SP22-Hotfix erfordert, während andere Komponenten, wie JBoss und AEM Forms, JDK 11 verwenden. Um das Problem zu beheben, setzen Sie JAVA_HOME auf JDK 17, bevor Sie den TCP-Locator starten.
Beschreibung description
Umgebung
- Product: Adobe Experience Manager (AEM) - Forms, v6.5 SP23
- Instance: Cluster-Umgebung
Problem/Symptome
-
Das Starten des TCP-Locators mit
gfsh.batschlägt in einer Cluster-Umgebung fehl. -
Der Fehler zeigt an, dass eine Klasse von einer neueren Java-Laufzeitklasse (Klassendatei Version 61.0) kompiliert wurde, jedoch nur bis Version 55.0 erkannt wird.
-
Die Ausführung von
java -versionbestätigt, dass JDK 11 anstelle von JDK 17 verwendet wird. -
Beim Start wird der folgende Fehler angezeigt:
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)
Lösung resolution
Führen Sie zur Behebung des Problems folgende Schritte aus:
- Installieren Sie JDK 17 auf Ihrem System, falls noch nicht installiert.
- Bevor Sie den TCP-Locator starten, legen Sie
JAVA_HOMEauf das Installationsverzeichnis JDK 17 fest. - Starten Sie den TCP-Locator-Prozess.
- Nachdem Sie den TCP-Locator gestartet haben, setzen Sie
JAVA_HOMEfür Ihren -Server (z. B. JBoss) und AEM Forms auf JDK 11 zurück. - Starten Sie den Anwendungs-Server und AEM Forms mithilfe der erforderlichen Java-Versionen.
- Stellen Sie sicher, dass der TCP-Locator und alle Dienste ohne Java-Kompatibilitätsfehler erfolgreich gestartet wurden.
Hinweise:
- Aufgrund von Spring Core-Schwachstellenbehebungen ist JDK 17 für TCP Locator nach SP22 Hotfix in Cluster-Umgebungen erforderlich.
- Jede Komponente muss mit ihrer kompatiblen Java-Version beginnen, indem
JAVA_HOMEzur Laufzeit aktualisiert wird.
Verwandtes Lesen
Unterstützte Plattformen für AEM Forms on JEE im AEM-Benutzerhandbuch