Risolvere la mancata corrispondenza delle versioni di Java Runtime nella pipeline di produzione AEM
Questo articolo fornisce una soluzione per i casi in cui gli stadi di build as a Cloud Service e unit test di Adobe Experience Manager (AEM) non vanno a buon fine a causa di una mancata corrispondenza delle versioni di Java Runtime. La soluzione prevede il downgrade del plug-in Maven Bundle e la garanzia di configurazioni di ambiente coerenti.
Descrizione
Ambiente
Adobe Experience Manager (AEM) as a Cloud Service - Sites
Problema/Sintomi
Durante le fasi di build e unit test della pipeline di produzione per il ramo principale si verificano errori. Il messaggio di errore indica un’incompatibilità API a causa di una mancata corrispondenza nelle versioni di Java Runtime utilizzate durante le build Maven. La versione 6.0.0 di maven-bundle-plugin
richiede Java 17, ma AEM Cloud supporta solo Java 11, con conseguente incompatibilità.
Risoluzione
-
Downgrade del plug-in del bundle Maven. Modificare il file
pom.xml
nelle sezioni<build>
,<pluginManagement>
e<plugins>
e assicurarsi di specificare una versione compatibile dimaven-bundle-plugin
. Le versioni consigliate sono 5.1.9 o successive in quanto supportano Java 8 e 11:<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>
-
Se persistono discrepanze tra gli ambienti, è consigliabile cancellare gli artefatti memorizzati nella cache utilizzando le API appropriate fornite dalla documentazione di Adobe Cloud Manager. Per i passaggi, consulta Panoramica - API Cloud Manager nella documentazione per gli sviluppatori di Adobe.
-
Controllare la configurazione codebase (
pom.xml
) per individuare eventuali voci che potrebbero essere predefinite per versioni di plug-in non supportate. Per i passaggi, fare riferimento a Pacchetto struttura archivio nella Guida utente per la struttura del progetto AEM. -
Conferma che entrambe le pipeline di sviluppo e produzione utilizzino configurazioni coerenti per quanto riguarda dipendenze e plug-in.
Se hai risolto i problemi di compatibilità per i requisiti di runtime Java, ora dovresti essere in grado di eseguire correttamente build e unit test in tutti gli ambienti all’interno della configurazione di AEM as a Cloud Service.