Cloud Managerでch.qos.logbackおよび削除されたAPIに対する非推奨のライブラリ使用警告の解決

Cloud Managerは、ビルド、コード品質、またはデプロイメント手順で、ch.qos.logbackまたはその他の削除されたAPIの非推奨ライブラリ使用状況を報告します。 これらの警告は、古いACS AEM Commonsのバージョン、誤ったMaven分類子、または削除されたAPIを直接参照するお客様のコードから発生します。 場合によっては、ログバック参照はAdobeが管理するプラットフォームバンドルから作成され、お客様による変更は必要ありません。 正確なソース(ACS Commons バージョン、分類子の不一致、カスタマーコード、またはAdobe ランタイム)を特定することで、正しい修正が決定されます。

説明 description

問題:Cloud Managerで、ビルドまたはコード品質チェック中に、非推奨のch.qos.logbackまたは削除されたAPI使用状況が検出される

説明

Cloud Manager Action Centerのアラートまたはパイプラインのエラーは、ch.qos.logbackまたはその他の削除されたAPIの非推奨の使用を示します。 これらの警告は、region-deprecated-apiまたはconfiguration-api チェックの下のビルド フェーズで表示されます。 根本原因は異なります。古いACS AEM Commons バージョンが一時的にログバックを取得する、誤ったMaven分類子が使用される、顧客コード参照が削除されたAPIを参照する、Adobeで管理される内部バンドルがビルドに影響を与えることなく、実行時にログバックを登録する。

環境:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • Cloud Manager(ビルド、コード品質、デプロイメントパイプライン)
  • ACSAEM・コモンズ

問題/症状:

  • Cloud Manager ビルドログの表示:Usage of deprecated package found : ch.qos.logback.* : This internal logback API is not supported by AEM as a Cloud Service
  • 顧客コードがLogbackを使用しない場合でも、ランタイムログにはServiceEvent REGISTERED [ ch.qos.logback.core.filter.Filter]などのエントリが含まれます
  • ビルドのコンパイルが失敗し、RequestResponseFactoryなど、非推奨のAPIに関連するエラーが発生します
  • コード アナライザーは、Service.ranking is not of type Integergroovy-all:2.4.15からの警告などのエラーを報告します
  • ACS Commons: File tld:http://sling.apache.org/taglibs/sling/1.0 not foundをアップグレードすると、JSP プリコンパイラーのエラーが表示されます

根本原因:

Cloud Managerが削除がスケジュールされたAPIの使用を検出すると、非推奨のライブラリ警告が発生します。 古いACS AEM Commons パッケージにはch.qos.logbackが一時的に含まれており、AEMaaCSでオンプレミス ACS Commons分類機能を使用すると、この警告もトリガーされます。 Cloud Serviceで廃止されたAPI (com.day.cq.contentsync.handler.util.RequestResponseFactoryなど)を参照するお客様のコードは、同様のエラーを発生させます。 Adobeで管理されているプラットフォームバンドルからのログバック参照は、デプロイメントブロックを引き起こさないため、お客様の操作は必要ありません。

確認方法

  1. ch.qos.logback.*groovy-all:2.4.15com.day.cq.contentsync.handler.utilまたはACS Commons バンドルバージョンを参照するエントリについて、Cloud Manager ビルドログを確認します。 ログにアクセスできない場合は、Cloud Manager > パイプライン >実行> ログ を介してログをダウンロードします。

  2. com.adobe.acs:acs-aem-commons-bundle:5.2.0などの行や、ログバックを参照する警告を見つけることで、ACS Commonsのバージョンを正確に確認します。

  3. 完全なMaven依存ツリーを実行して、バージョンが競合しているかどうかを確認します。

    code language-none
    mvn dependency:tree -Dincludes=com.adobe.acs:acs-aem-commons*
    
  4. ユーザーが所有するファイルで、直接ログバック参照を検索します。

    • Windows:

      code language-none
      findstr /S /N /I "ch.qos.logback" pom.xml *.xml *.yml *.yaml
      

解決策 resolution

  1. ACS Commons バージョンまたは分類子の不一致(最も一般的): プロジェクトのall/pom.xmlでACS Commonsの依存関係を確認してください。 <classifier>cloud</classifier>が存在し、バージョンが6.11.0以上であることを確認します。 エントリは次のようになります。

    code language-none
    <groupId>com.adobe.acs</groupId>
    <artifactId>acs-aem-commons-all</artifactId>
    <version>6.16.0</version>
    <classifier>cloud</classifier>
    

競合するバージョンが依存ツリーに表示される場合は、古いACS Commons ビルドへの直接または推移的な参照をすべて削除します。

​2. 削除されたAPIを参照するお客様のコード: Cloud Manager ログでフラグ付けされた非推奨パッケージをコードベースで検索します。 RequestResponseFactoryなどの削除されたAPIの使用状況をSling ビルダーAPI (org.apache.sling.api.request.builder.BuildersまたはSlingUriBuilder)に置き換えます。 Cloud Manager Code Scanningを再実行して、非推奨のAPI警告が残っていないことを確認します。
​3. ACS Commonsの更新後にJSP プリコンパイラーが失敗しました: scope=provided:
ui.apps モジュールにSling JSP Taglib依存関係を追加します

"’
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
"’

パイプラインを再実行し、tld not found エラーがなくなったことを確認します。

​4. 後のバージョンのaemanalyyser設定エラー: バージョン 1.6.16Service.ranking is not of type Integerなどのエラーを返す場合は、バージョン 1.6.4または1.6.14に切り替えます。 パイプラインを再実行し、アナライザーエラーなしでパイプラインが完了することを確認します。
​5. 非推奨としてフラグ付けされたgroovy-all:2.4.15: Orbinson Groovy Console バリアントに置き換えます:

"’
<groupId>be.orbinson.aem</groupId>
<artifactId>aem-groovy-console-all</artifactId>
< バージョン >19.0.8</version>
<type>zip</type>
"’

コード品質の確認ステップで、groovy-all件の警告が報告されています。 Groovy コンソールが使用されていない場合は、完全に削除してください。

​6. Adobeで管理されているバンドルからのログバック参照のみ: コード品質に非推奨のライブラリ警告が表示されず、ログバックエントリのみがログのServiceEvent REGISTERED [ ch.qos.logback.core.filter.Filter]などの実行時のみの行であり、ビルド手順に警告がない場合、アクションは必要ありません。 これらはAdobe プラットフォームバンドルに由来し、デプロイメントをブロックしません。
​7. 検証:新しいコードスキャンまたはフルパイプライン実行を開始します。 ビルドログにregion-deprecated-apiの下にch.qos.logback個のエントリが表示されず、顧客コードまたはACS Commonsに対する非推奨のAPI警告が表示されないことを確認します。

関連トピックス

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