解決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

  1. 降級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>
    
  2. 如果環境之間持續存在差異,請考慮使用Adobe的Cloud Manager檔案所提供的適當API來清除快取的成品。 如需相關步驟,請參閱Adobe開發人員檔案中的概觀 — Cloud Manager API

  3. 檢查您的程式碼基底組態(pom.xml),找出任何可能預設為不受支援的外掛程式版本的專案。 如需相關步驟,請參閱AEM Project Structure User Guide中的Repository Structure Package

  4. 確認開發和生產管道都使用一致的相關相依性和外掛程式的設定。

如果您已解決Java執行階段需求的相容性問題,您現在應該能夠在AEM as a Cloud Service設定內的所有環境中成功執行組建和單位測試。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f