AEM Cloud Manager部署因缺少Apache Tika套件匯入而失敗
本文說明如何在Adobe Experience Manager Cloud Manager環境中解決因自訂應用程式套件組合中缺少Apache Tika套件匯入所導致的部署管道故障。
說明 description
環境
- Adobe Experience Manager (AEM) as a Cloud Service
- Cloud Manager
問題/症狀
-
部署步驟期間,部署管道在QA環境中失敗。
-
所有先前的管道步驟(建置、程式碼品質、影像建置、轉換工作和索引更新)都成功完成。
-
部署失敗,並出現錯誤訊息,指出容器尚未就緒。
-
AEM發佈記錄檔會顯示與PDF擷取功能相關的重複OSGi Framework錯誤,例如:
NoClassDefFoundError: org/apache/tika/io/IOExceptionWithCauseClassNotFoundException: org.apache.tika.io.IOExceptionWithCause not found
-
平台提供的Apache Tika組合(
org.apache.tika.core、org.apache.tika.parsers)存在且作用中。 -
自訂應用程式套件組合未匯入必要的
org.apache.tika.*套件,導致參照Tika類別時發生類別載入失敗。 -
在受影響環境的每個管道執行中,該問題都是可重現的。
原因
部署管道失敗,因為自訂應用程式套件組合沒有匯入必要的Apache Tika套件,在服務啟動期間導致類別載入錯誤。
解決方法 resolution
若要修正因缺少Apache Tika套件匯入所導致的部署失敗,請執行下列步驟:
-
編輯受影響套件組合的Import-Package區段,以明確匯入所有必要的
org.apache.tika.*套件,例如org.apache.tika.io。 -
範例(在
bnd.bnd或同等專案中):Import-Package: org.apache.tika.io, org.apache.tika.* -
確保該套件組合不會內嵌其自身的Apache Tika版本。 依賴平台提供的Tika套件組合來避免版本衝突。
-
透過Cloud Manager管道提交和部署更新的套件組合。
-
在AEM Web Console中,確認自訂套件組合已列為
org.apache.tika.core的匯入套件。 -
確認記錄中未出現Tika類別的
NoClassDefFoundError或ClassNotFoundException。 -
驗證PDF擷取和相關服務是否啟動,且沒有OSGi框架錯誤。