AEM Sites:為自訂欄使用PageInfoProvider時,已棄用org.apache.sling.commons.json.JSONObject警告

本文說明使用PageInfoProvider自訂AEM Sites清單檢視欄時,與org.apache.sling.commons.json.JSONObject相關的已棄用API警告的原因和目前影響。

說明 description

環境

Adobe Experience Manager (AEM) as a Cloud Service (所有版本)

問題/症狀

使用PageInfoProvider介面在AEM Sites主控台清單檢視中實作自訂欄時,記錄中出現以下警告:

2023-02-23 18:47:55.095 [ region-deprecated-api]  com.xx.aem:xx-unified-site.core:0.0.2-SNAPSHOT: Usage of deprecated package found : org.apache.sling.commons.json : Usage of this deprecated API is not supported in AEM as a Cloud Service. Deprecated since 2022-12-31 For removal : 2027-12-31 (com.xx.aem:xx-unified-site.all:0.0.2-SNAPSHOT)
  • 由於PageInfoProvider API合約要求傳回org.apache.sling.commons.json.JSONObject,因此觸發警告。
  • org.apache.sling.commons.json封裝已過時,並排程在2027-12-31之後移除。
  • 這些警告僅供參考,當使用限製為PageInfoProvider實作時,目前不會封鎖Cloud Manager管道。

原因

PageInfoProvider介面目前需要傳回org.apache.sling.commons.json.JSONObject,以強制使用已棄用的套件。 這被視為技術債,將在未來的AEM Sites API更新中解決。

解決方法 resolution

請依照下列步驟解決問題:

  1. 檢閱記錄警告以確認其與使用PageInfoProviderorg.apache.sling.commons.json.JSONObject相依性有關。

  2. 瞭解這些警告目前僅提供資訊,不會封鎖部署或影響Sites主控台中自訂資料行的功能。

  3. 監視Adobe Experience Manager發行說明和檔案,以取得有關淘汰和計畫移除org.apache.sling.commons.json的更新。

  4. 計畫在未來重構自訂欄實施:

    • Adobe工程部門正致力於淘汰目前的PageInfoProvider介面。
    • 未來發行版本將引入不需要org.apache.sling.commons.json的新介面並加以記錄。
  5. 除非在PageInfoProvider內容之外使用已棄用的API,或未來的發行版本引入重大變更,否則不需要立即採取行動。

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