Échec du démarrage du service de localisation TCP en raison d’une incohérence de la version Java dans AEM

Lors de l’installation de Adobe Experience Manager (AEM) Forms, v6.5 SP23 dans un environnement en cluster, le démarrage du localisateur TCP (Transmission Control Protocol) échoue, car il nécessite JDK (Java Development Kit) 17 ou une version ultérieure après le correctif SP22, tandis que d’autres composants, tels que JBoss et AEM Forms, utilisent JDK 11. Pour résoudre ce problème, définissez JAVA_HOME sur JDK 17 avant de démarrer le service de localisation TCP.

Description description

Environnement

  • Produit : Adobe Experience Manager (AEM) - Forms, v6.5 SP23
  • Instance : Environnement en cluster

Problème/Symptômes

  • Le démarrage du service de localisation TCP à l’aide de gfsh.bat échoue dans un environnement organisé en grappes.

  • L’erreur indique qu’une classe a été compilée par un Runtime Java plus récent (fichier de classe version 61.0), mais seule la version 55.0 est reconnue.

  • L’exécution de java -version confirme l’utilisation du JDK 11 au lieu du JDK 17.

  • L’erreur suivante s’affiche au démarrage :

    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)
    

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Installez le JDK 17 sur votre système s’il n’est pas déjà installé.
  2. Avant de démarrer le service de localisation TCP, définissez JAVA_HOME sur le répertoire d’installation JDK 17.
  3. Démarrez le processus du service de localisation TCP.
  4. Après avoir démarré le service de localisation TCP, réinitialisez JAVA_HOME sur JDK 11 pour votre serveur d’applications (par exemple, JBoss) et AEM Forms.
  5. Démarrez le serveur d’applications et AEM Forms à l’aide des versions Java requises.
  6. Vérifiez que le service de localisation TCP et tous les services démarrent correctement sans erreurs de compatibilité Java.

Remarques :

  • JDK 17 est requis pour le service de localisation TCP après le correctif SP22 dans les environnements en cluster en raison des correctifs de vulnérabilité Spring Core.
  • Chaque composant doit commencer par sa version Java compatible en mettant à jour JAVA_HOME au moment de l’exécution.

Lecture connexe

Plateformes prises en charge par AEM Forms sur JEE dans le guide de l’utilisateur d’AEM

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