AEM SDK 2026.9.28386へのアップグレード後の単体テストエラー
✨ このコンテンツはAIが生成したもので、不正確である可能性があります。 生成AI用語
この記事では、コアとテストの依存関係の変更に起因する、Adobe Experience Manager(AEM)SDK 2026.9.28386へのアップグレード後にローカル Maven ビルドで発生する広範な単体テストのエラーを解決する方法について説明します。
説明 description
環境
- Adobe Experience Manager(AEM)SDK 2026.9.28386 (2026.8.27830からのアップグレード)
症状
- AEM SDKをアップグレードすると、ローカル Maven ビルドで、以前に合格した多数の単体テストが失敗します。
- 失敗は、主に
maven-surefire-plugin:test目標の実行中に発生します。 - エラーは次のとおりです。
java.lang.reflect.InvocationTargetExceptionなどの予期しない例外NoClassDefFoundError、NoSuchMethodErrorまたはNoSuchFieldError- JCR モックリソースリゾルバーファクトリの初期化中にランタイムエラーが発生しました
- クラス、メソッド、またはフィールド(例:Log4j、Sling Mock、JCR Mock)が見つからないか、互換性がないことに関するテストの失敗
- JCR Mock、Sling Mock、Log4j、または関連するテスト依存関係に依存する単体テストは、ランタイムエラーの初期化またはスローに失敗します。
原因
AEM SDK 2026.9.28386 アップグレードでは、コアおよびテストの依存関係に変更が加えられたため、以前のバージョンのJCR Mock、Sling Mock、Log4j、または単体テストで使用される関連ライブラリとの互換性が失われました。
解決策 resolution
問題を解決するには、次の手順に従います。
- コアライブラリまたはテスト依存関係に対する文書化された変更については、AEM SDK リリースノートのバージョン 2026.9.28386を参照してください。
- プロジェクトのテスト依存関係(
io.wcm.testing.mock.aem、org.apache.sling.testing.sling-mock、org.apache.logging.log4jなど)を、アップグレードされたAEM SDKと互換性のあるバージョンに更新します。 推奨されるバージョンについては、AEM アーキタイプを参照してください。 - 新しいSDKにバンドルされている依存関係と一致するか、それを超えるよう、
pom.xml内のこれらの依存関係のバージョンを更新します。 mvn clean install -Uを実行して、キャッシュされたアーティファクトをクリアし、更新された依存関係でプロジェクトを再構築します。NoClassDefFoundError、NoSuchMethodError、NoSuchFieldErrorなどのエラーのスタックトレースを確認し、テストコードを更新して、非推奨または削除されたAPIの使用を回避します。 必要に応じてテストをリファクタリングします。- テストで使用されるLog4j バージョンがSDKと互換性があることを確認し、必要に応じてログの依存関係を調整します。
mvn testで単体テストを再実行し、更新された依存関係に合格したことを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles