Verkeerde versie van Java Runtime in AEM Production Pipeline oplossen
Dit artikel biedt een oplossing voor het mislukken van testfasen voor Adobe Experience Manager (AEM) as a Cloud Service build en unit vanwege een niet-overeenkomende Java Runtime versie. De oplossing bestaat uit het verlagen van de Gegraveerde bundelinsteekmodule en het zorgen voor consistente omgevingsconfiguraties.
Beschrijving
Omgeving
Adobe Experience Manager (AEM) as a Cloud Service - Sites
Probleem/symptomen
Tijdens de bouw en de stadia van de eenheidstest van de productiepijplijn voor de belangrijkste tak, komen de mislukkingen voor. Het foutbericht geeft een API-incompatibiliteit aan als gevolg van een fout in Java Runtime-versies die tijdens Maven Builds worden gebruikt. Voor maven-bundle-plugin
versie 6.0.0 is Java 17 vereist, maar AEM Cloud ondersteunt alleen Java 11, wat leidt tot incompatibiliteit.
Resolutie
-
Verlaag de Maven bundle plug-in. Wijzig het
pom.xml
-bestand onder de secties<build>
,<pluginManagement>
en<plugins>
en zorg ervoor dat u een compatibele versie vanmaven-bundle-plugin
opgeeft. De geadviseerde versies zijn 5.1.9 of lager aangezien zij Java 8 en 11 steunen:<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>
-
Als er verschillen blijven bestaan tussen omgevingen, kunt u overwegen om artefacten in de cache te wissen met behulp van de juiste API's die worden geleverd door de cloudbeheerdocumentatie van de Adobe. Voor stappen, verwijs naar Overzicht - Cloud Manager APIin de Adobe ontwikkelaarsdocumentatie.
-
Controleer uw codebaseconfiguratie (
pom.xml
) op om het even welke ingangen die aan niet gestaafde plugin versies zouden kunnen in gebreke blijven. Voor stappen, verwijs naar Pakket van de Structuur van de Bewaarplaatsin de Gids van de Gebruiker van de Structuur van het AEM Project. -
Bevestig dat zowel de pijpleidingen van de Ontwikkeling als van de Productie verenigbare configuraties betreffende gebiedsdelen en stop- ins gebruiken.
Als u de compatibiliteitsproblemen voor Java-runtime-vereisten hebt opgelost, kunt u de build- en eenheidstests nu met succes uitvoeren in alle omgevingen in AEM as a Cloud Service-instellingen.