AEMaaCSでのJava 21への移行時のJava 8およびJava 11の非推奨化の問題

Adobe Experience Manager(AEM)as a Cloud Serviceでは、実行時にJava 8またはJava 11がサポートされなくなったため、Java 21への移行が必要になります。 この問題は、ビルドタイム Java バージョン、ランタイム Java バージョン、サードパーティの依存関係、または移行タイムラインが、互換性に関する懸念や必要なアクションに関する不確実性を生み出す場合に発生します。 この問題を解決するには、ランタイムの確認、互換性の検証、ビルドの更新を行います。

説明 description

環境

Adobe Experience Manager as a Cloud Service (AEMaaCS)

問題/症状

  • Cloud Managerのビルド通知は、非推奨のJava APIの使用を示します。
  • 環境は実行時にJava 21を実行しますが、ビルドでは依然としてJava 11を使用します。
  • チームは、Java 21 ランタイムロールアウト後もJava 11 ビルドが引き続きサポートされるかどうか不明です。
  • アクション センターの通知は、Javaの非推奨化または移行要件を参照します。
  • ランタイムとビルドタイムのJava バージョンは、環境間で一貫性がないように見えます。

根本原因

この問題は、AEM as a Cloud Serviceがランタイム環境をJava 21にアップグレードする一方で、お客様のプロジェクトがビルドプロセスにJava 11を引き続き使用する場合があるために発生します。 ランタイム JavaはAdobeによって管理されますが、ビルドタイム Javaはプロジェクト設定によって制御されます。 この分離を誤解すると、非推奨のAPIや依存関係の非互換性に加えて、移行の懸念やビルド検証の問題につながります。

解決策 resolution

次の手順に従って、Java ランタイムの使用状況を検証し、Java 21に対応するようにアプリケーションを準備します。

  1. Cloud ManagerからDeveloper Consoleを開き、報告されたJava バージョンを確認して、ランタイム Java バージョンを確認します。
  2. Developer Consoleにランタイムバージョンが表示されない場合は、System.getProperty("java.version")の値を記録することで、カスタム OSGi コンポーネントを介してランタイム Java バージョンを記録します。
  3. .cloudmanager/java-version ファイルを確認し、プロジェクトがJava 11、17、または21でビルドされるかどうかを判断します。
  4. 環境がAEM リリース 17098以降であることを確認し、ローカルのSDKとJava 21を実行し、アプリケーションをローカルにデプロイし、クラスの読み込みや依存関係の問題が発生していないことを確認して、Java 21の互換性を検証します。
  5. .cloudmanager/java-versionを21に設定する開発ブランチを作成し、開発パイプラインを実行して、Java 21でアプリケーションの動作を検証します。
  6. Actions Centerの通知が表示されたときに非推奨のAPI使用状況を確認し、削除されたSling、Felix、Jetty APIなど、非推奨または削除されたパッケージを参照するコードを更新します。
  7. .cloudmanager/java-version ファイルを21で作成または変更し、互換性の検証が成功したら実稼動以外のパイプラインを実行して、ビルドバージョンをJava 21に更新します。
  8. Java 21移行通知メールを確認し、依存関係分析で特定されたサポートされていないライブラリまたは依存関係を更新します。 例えば、GroovyやLogbackなどのサポートされていないバージョンのライブラリを特定した場合は、置き換えるかアップグレードします。
  9. ランタイムがJava 21、Cloud Manager ビルドが成功、非推奨化の通知が表示されなくなり、機能テストが正常に合格したことを確認して、解決策を検証します。

エスカレーションするタイミング

  • 権限が検証された後も、Developer Consoleにアクセスできなくなります。
  • Java 21の検証後も、アプリケーションに依存関係の非互換性が引き続き表示されます。
  • ビルド版をJava 21に更新すると、Cloud Managerのビルドが失敗します。
  • サポートされていない依存関係は、移行の分析と修復後も未解決のままです。

関連トピックス

recommendation-more-help
experience-cloud-kcs-help-kbarticles