É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 -versionconfirme 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 :
- Installez le JDK 17 sur votre système s’il n’est pas déjà installé.
- Avant de démarrer le service de localisation TCP, définissez
JAVA_HOMEsur le répertoire d’installation JDK 17. - Démarrez le processus du service de localisation TCP.
- Après avoir démarré le service de localisation TCP, réinitialisez
JAVA_HOMEsur JDK 11 pour votre serveur d’applications (par exemple, JBoss) et AEM Forms. - Démarrez le serveur d’applications et AEM Forms à l’aide des versions Java requises.
- 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_HOMEau moment de l’exécution.
Lecture connexe
Plateformes prises en charge par AEM Forms sur JEE dans le guide de l’utilisateur d’AEM