AEM 프로덕션 파이프라인에서 Java 런타임 버전 불일치 해결

이 문서에서는 Java 런타임 버전으로 인해 Adobe Experience Manager(AEM as a Cloud Service) 빌드 불일치 및 단위 테스트 단계가 실패할 경우 이에 대한 솔루션을 제공합니다. 이 솔루션에는 Maven 번들 플러그인을 다운그레이드하고 일관된 환경 구성이 포함됩니다.

설명 description

환경

Adobe Experience Manager(AEM as a Cloud Service) - 사이트

문제/증상

주 분기에 대한 프로덕션 파이프라인의 빌드 및 단위 테스트 단계 동안 오류가 발생합니다. 오류 메시지는 Maven 빌드 중에 사용된 Java 런타임 버전이 일치하지 않아 API가 비호환됨을 나타냅니다. maven-bundle-plugin 버전 6.0.0에는 Java 17이 필요하지만 AEM Cloud는 Java 11만 지원하므로 호환되지 않습니다.

해결 방법 resolution

  1. Maven 번들 플러그인을 다운그레이드합니다. <build>, <pluginManagement><plugins> 섹션에서 pom.xml 파일을 수정하고 호환되는 maven-bundle-plugin 버전을 지정했는지 확인하십시오. 권장 버전은 Java 8 및 11을 지원하므로 5.1.9 이하입니다.

    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 프로젝트 구조 사용 안내서의 저장소 구조 패키지를 참조하십시오.

  4. 개발 및 프로덕션 파이프라인이 모두 종속성 및 플러그인에 대해 일관된 구성을 사용하는지 확인합니다.

Java 런타임 요구 사항에 대한 호환성 문제를 해결한 경우 이제 AEM as a Cloud Service 설정 내의 모든 환경에서 빌드 및 단위 테스트를 성공적으로 실행할 수 있습니다.

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