Beheben von Fehlern bei der Java-Laufzeitversion in der AEM-Produktions-Pipeline
Dieser Artikel bietet eine Lösung für den Fall, dass Adobe Experience Manager (AEM) as a Cloud Service-Build- und Modultestphasen aufgrund einer Java Runtime-Versionsabweichung fehlschlagen. Die Lösung umfasst ein Downgrade des Maven Bundle-Plug-ins und die Sicherstellung konsistenter Umgebungskonfigurationen.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM) as a Cloud Service - Sites
Problem/Symptome
Während der Build- und Unit-Testphasen der Produktions-Pipeline für den Hauptzweig treten Fehler auf. Die Fehlermeldung weist auf eine API-Inkompatibilität aufgrund einer Diskrepanz in den Java-Laufzeitversionen hin, die während Maven-Builds verwendet werden. Die maven-bundle-plugin Version 6.0.0 benötigt Java 17, AEM Cloud unterstützt jedoch nur Java 11, was zu einer Inkompatibilität führt.
Auflösung resolution
-
Maven-Bundle-Plug-in herunterstufen. Ändern Sie Ihre
pom.xmlunter den Abschnitten<build>,<pluginManagement>und<plugins>und stellen Sie sicher, dass Sie eine kompatible Version vonmaven-bundle-pluginangeben. Empfohlene Versionen sind 5.1.9 oder niedriger, da sie Java 8 und 11:
unterstützencode 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> -
Wenn Diskrepanzen zwischen Umgebungen bestehen bleiben, sollten Sie zwischengespeicherte Artefakte mithilfe der entsprechenden APIs löschen, die in der Dokumentation zu Adobe Cloud Manager bereitgestellt werden. Anweisungen hierzu finden Sie unter Übersicht - Cloud Manager-API in der Adobe-Entwicklerdokumentation.
-
Überprüfen Sie Ihre Code-Basis-Konfiguration (
pom.xml) auf Einträge, die standardmäßig nicht unterstützte Plug-in-Versionen enthalten. Anweisungen hierzu finden Sie unter Repository-Strukturpaket im Benutzerhandbuch zur AEM-Projektstruktur. -
Vergewissern Sie sich, dass sowohl Entwicklungs- als auch Produktions-Pipelines konsistente Konfigurationen in Bezug auf Abhängigkeiten und Plug-ins verwenden.
Wenn Sie die Kompatibilitätsprobleme für Java-Laufzeitanforderungen behoben haben, sollten Sie jetzt in der Lage sein, Build- und Komponententests erfolgreich in allen Umgebungen im AEM as a Cloud Service-Setup auszuführen.