解決AEM生產管道中Java執行階段版本不符的問題
本文提供當Adobe Experience Manager (AEM)as a Cloud Service建置和單元測試階段因Java執行階段版本不符而失敗時的解決方案。 解決方案包括降級Maven套件組合外掛程式和確保一致的環境設定。
說明 description
環境
Adobe Experience Manager (AEM) as a Cloud Service — 網站
問題/症狀
在主要分支的生產管道的建置和單元測試階段期間,會發生失敗。 錯誤訊息會指出API不相容性,因為Maven建置期間使用的Java Runtime版本不相符。 maven-bundle-plugin
版本6.0.0需要Java 17,但AEM Cloud僅支援Java 11,導致不相容。
解決方法 resolution
-
降級Maven套件組合外掛程式。 修改
<build>
、<pluginManagement>
和<plugins>
區段下的pom.xml
檔案,並確定您指定了相容的maven-bundle-plugin
版本。 建議的版本是5.1.9或更低版本,因為它們支援Java 8和11:code language-none <build> <pluginManagement> <plugins> ... <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>5.1.2</version> <inherited>true</inherited> </plugin> ... </plugins> </pluginManagement> </build>
-
如果環境之間持續存在差異,請考慮使用Adobe的Cloud Manager檔案所提供的適當API來清除快取的成品。 如需相關步驟,請參閱Adobe開發人員檔案中的概觀 — Cloud Manager API。
-
檢查您的程式碼基底組態(
pom.xml
),找出任何可能預設為不受支援的外掛程式版本的專案。 如需相關步驟,請參閱AEM Project Structure User Guide中的Repository Structure Package。 -
確認開發和生產管道都使用一致的相關相依性和外掛程式的設定。
如果您已解決Java執行階段需求的相容性問題,您現在應該能夠在AEM as a Cloud Service設定內的所有環境中成功執行組建和單位測試。