TCP Locator kan inte startas på grund av att Java-versionen inte matchar i AEM

När du installerar Adobe Experience Manager (AEM) Forms, v6.5 SP23 i en klustermiljö, startar inte TCP-positioneraren (Transmission Control Protocol) eftersom JDK (Java Development Kit) krävs 17 eller senare efter programfixen SP22, medan andra komponenter, som JBoss och AEM Forms, använder JDK 11. Lös problemet genom att ange JAVA_HOME till JDK 17 innan du startar TCP Locator.

Beskrivning description

Miljö

  • Produkt: Adobe Experience Manager (AEM) - Forms, v6.5 SP23
  • Instans: Klustermiljö

Problem/symtom

  • Det går inte att starta TCP-positioneraren med gfsh.bat i en klustrad miljö.

  • Felet indikerar att en klass kompilerades av en nyare Java-körningsmiljö (klassfilsversion 61.0), men endast upp till version 5.0 kan identifieras.

  • Om du kör java -version bekräftas att JDK 11 används i stället för JDK 17.

  • Följande fel visas vid start:

    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)
    

Upplösning resolution

Följ de här stegen för att lösa problemet:

  1. Installera JDK 17 i systemet om det inte redan är installerat.
  2. Innan du startar TCP Locator anger du installationskatalogen JAVA_HOME för som.
  3. Starta TCP Locator-processen.
  4. När du har startat TCP-positioneraren återställer du JAVA_HOME till JDK 11 för programservern (till exempel JBoss) och AEM Forms.
  5. Starta programservern och AEM Forms med de Java-versioner de behöver.
  6. Kontrollera att TCP Locator och alla tjänster startar utan Java-kompatibilitetsfel.

Anteckningar:

  • JDK 17 krävs för TCP Locator efter SP22-snabbkorrigering i klustrade miljöer på grund av sårbarhetskorrigeringar för Spring Core.
  • Varje komponent måste börja med sin kompatibla Java-version genom att uppdatera JAVA_HOME vid körning.

Relaterad läsning

Plattformar som stöds för AEM Forms på JEE i användarhandboken för AEM

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