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.bat schlä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 -version bestä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:

  1. Installieren Sie JDK 17 auf Ihrem System, falls noch nicht installiert.
  2. Bevor Sie den TCP-Locator starten, legen Sie JAVA_HOME auf das Installationsverzeichnis JDK 17 fest.
  3. Starten Sie den TCP-Locator-Prozess.
  4. Nachdem Sie den TCP-Locator gestartet haben, setzen Sie JAVA_HOME für Ihren -Server (z. B. JBoss) und AEM Forms auf JDK 11 zurück.
  5. Starten Sie den Anwendungs-Server und AEM Forms mithilfe der erforderlichen Java-Versionen.
  6. 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_HOME zur Laufzeit aktualisiert wird.

Verwandtes Lesen

Unterstützte Plattformen für AEM Forms on JEE im AEM-Benutzerhandbuch

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f