AEMの Java バージョンの不一致が原因で、TCP ロケーターの開始に失敗する

Adobe Experience Manager(AEM)Forms v6.5 SP23 をクラスター環境にインストールする場合、TCP (Transmission Control Protocol)ロケーターを起動できません。このロケーターは、SP22 ホットフィックス以降の JDK (Java Development Kit) 17 以降が必要ですが、JBoss やAEM Formsなどの他のコンポーネントでは JDK 11 が使用されているからです。 この問題を解決するには、TCP ロケーターを起動する前に、JAVA_HOMEJDK 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_HOMEJDK 17 インストールディレクトリに設定します。
  3. TCP ロケータープロセスを開始します。
  4. TCP ロケーターを起動した後、JAVA_HOME をアプリケーションサーバー(JBoss など)とAEM Formsの JDK 11 にリセットします。
  5. 必要な Java バージョンを使用して、アプリケーションサーバーとAEM Formsを起動します。
  6. TCP ロケーターとすべてのサービスが Java 互換性エラーなしで正常に起動することを確認します。

注意:

  • Spring Core の脆弱性が修正されたので、クラスター環境での SP22 ホットフィックス以降の TCP ロケーターには JDK 17 が必要です。
  • 各コンポーネントは、実行時に JAVA_HOME を更新して、互換性のある Java バージョンで起動する必要があります。

関連資料

AEM ユーザーガイドの JEE 上のAEM Formsでサポートされているプラットフォーム ​

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