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 description

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 resolution

  1. 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 di maven-bundle-plugin. Le versioni consigliate sono 5.1.9 o successive in quanto supportano Java 8 e 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. 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.

  3. 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.

  4. 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.

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