AEM에서 Java 버전이 일치하지 않아 TCP 로케이터를 시작하지 못했습니다

클러스터된 환경에 Adobe Experience Manager(AEM) Forms, v6.5 SP23을 설치할 때 SP22 핫픽스 다음에 JDK(Java Development Kit) 17 이상이 필요하므로 TCP(Transmission Control Protocol) 로케이터를 시작할 수 없습니다. 반면 JBoss 및 AEM Forms과 같은 다른 구성 요소는 JDK 11을 사용합니다. 이 문제를 해결하려면 TCP 로케이터를 시작하기 전에 JAVA_HOME을(를) JDK 17(으)로 설정합니다.

설명 description

환경

  • 제품: Adobe Experience Manager(AEM) - Forms, v6.5 SP23
  • 인스턴스: 클러스터된 환경

문제/증상

  • 클러스터된 환경에서 gfsh.bat을(를) 사용하여 TCP 로케이터를 시작하지 못했습니다.

  • 오류는 새 Java 런타임(클래스 파일 버전 61.0)에 의해 클래스가 컴파일되었지만 최대 버전 55.0만 인식됨을 나타냅니다.

  • java -version을(를) 실행하면 JDK 17 대신 JDK 11이 사용되고 있는지 확인합니다.

  • 시작하는 동안 다음 오류가 나타납니다.

    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)
    

해결 방법 resolution

다음 단계에 따라 문제를 해결하십시오.

  1. 아직 설치되지 않은 경우 시스템에 JDK 17을 설치합니다.
  2. TCP 로케이터를 시작하기 전에 JAVA_HOME을(를) JDK 17 설치 디렉터리로 설정하십시오.
  3. TCP 로케이터 프로세스를 시작합니다.
  4. TCP 로케이터를 시작한 후 응용 프로그램 서버(예: JBoss) 및 AEM Forms에 대해 JAVA_HOME을(를) JDK 11(으)로 다시 설정합니다.
  5. 필요한 Java 버전을 사용하여 애플리케이션 서버와 AEM Forms을 시작합니다.
  6. Java 호환성 오류 없이 TCP 로케이터 및 모든 서비스가 성공적으로 시작되는지 확인하십시오.

참고:

  • 스프링 코어 취약성 수정 사항으로 인해 클러스터 환경에서 SP22 핫픽스 이후의 TCP 로케이터에는 JDK 17이 필요합니다.
  • 각 구성 요소는 런타임에 JAVA_HOME을(를) 업데이트하여 호환되는 Java 버전으로 시작해야 합니다.

관련 읽기

AEM 사용 안내서의 JEE에서 AEM Forms에 대해 지원되는 플랫폼

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