Archivi Maven HTTPS

Cloud Manager versione 2023.10.0 ha iniziato un aggiornamento continuo dell’ambiente di build (completandolo con la versione 2023.12.0), che includeva un aggiornamento a Maven 3.8.8. Come modifica significativa introdotta in Maven 3.8.1 è stato apportato un miglioramento della sicurezza volto a mitigare potenziali vulnerabilità. In particolare, Maven ora disabilita tutte le corrispondenze http://* non sicure per impostazione predefinita, come descritto nelle note sulla versione di Maven.

Come risultato di questo miglioramento sulla sicurezza, alcuni utenti potrebbero riscontrare problemi durante la fase di build, in particolare durante il download di artefatti dagli archivi Maven che utilizzano connessioni HTTP non sicure.

Per garantire un’esperienza fluida con la versione aggiornata, Adobe consiglia agli utenti di aggiornare gli archivi Maven per utilizzare HTTPS invece di HTTP. Questo adeguamento è in linea con la crescente tendenza del settore verso protocolli di comunicazione sicuri e contribuisce a mantenere un processo di creazione sicuro e affidabile.

Utilizza una versione Java specifica

Il processo di build di Cloud Manager utilizza il JDK di Oracle 8 per generare i progetti per impostazione predefinita, ma i clienti di AEM Cloud Service devono impostare la versione JDK di esecuzione Maven su 21 (preferita), 17 o 11.

Impostare la versione JDK di Maven

Per impostare il JDK di esecuzione Maven, crea un file denominato .cloudmanager/java-version nel ramo dell’archivio Git utilizzato dalla pipeline. Modificare il file in modo che contenga solo il testo, 21 o 17. Anche se Cloud Manager accetta il valore 8, questa versione non è più supportata per i progetti AEM Cloud Service. Qualsiasi altro valore viene ignorato. Se si specifica 21 o 17, viene utilizzato Oracle Java 21 o Oracle Java 17.

Prerequisiti per la migrazione alla creazione con Java 21 o Java 17

Per la generazione con Java 21 o Java 17, Cloud Manager ora utilizza SonarQube 9.9, compatibile con queste versioni Java. Questa modifica è stata introdotta nella versione 2025.1.0 di Cloud Manager. Per aggiornare SonarQube non è necessaria alcuna azione da parte del cliente. Per ulteriori dettagli e per comprendere la modifica, consulta le Note sulla versione di Cloud Manager 2025.1.0.

Durante la migrazione dell’applicazione a una nuova versione di build Java e a una nuova versione di runtime, esegui un test completo negli ambienti di sviluppo e staging prima di implementarla nell’ambiente di produzione.

Adobe consiglia la seguente strategia di implementazione:

  1. Esegui il SDK locale con Java 21, scaricabile da https://experience.adobe.com/#/downloads, e distribuisci l’applicazione su di esso e convalidane la funzionalità. Verificare nei registri che non siano presenti errori, che indicano problemi con il caricamento della classe o la tessitura del bytecode.
  2. Configura un ramo nell’archivio Cloud Manager per utilizzare Java 21 come versione Java del tempo di build, configura una pipeline DEV per utilizzare questo ramo ed esegui la pipeline. Eseguire i test di convalida.
  3. Se funziona, configura la pipeline stage/prod per utilizzare Java 21 come versione Java del tempo di build ed esegui la pipeline.
Informazioni su alcune funzioni di traduzione

Le seguenti funzioni potrebbero non funzionare correttamente se distribuite in fase di esecuzione Java 21 e Adobe prevede di risolverle entro l’inizio del 2025:

  • Errore di XLIFF (formato file di interscambio localizzazione XML) durante l'utilizzo di Traduzione umana.
  • I18n (internazionalizzazione) non gestisce correttamente le lingue ebraico (he), indonesiano (in) e yiddish (yi) a causa di modifiche nel costruttore Locale nelle versioni Java più recenti.

Requisiti di runtime

Il runtime Java 21 è stato applicato a tutti gli ambienti idonei, che sono ambienti in AEM versione 17098 o successiva che soddisfano i criteri riportati di seguito. Se un ambiente non soddisfa i criteri, è importante apportare le modifiche necessarie per garantire prestazioni, disponibilità e sicurezza.

  • Versione minima di ASM:
    Aggiornare l'utilizzo del pacchetto Javaorg.objectweb.asm, spesso incluso in org.ow2.asm.* artefatti, alla versione 9.5 o successiva per garantire il supporto per i runtime JVM più recenti.

  • Versione minima di Groovy:
    Aggiornare l'utilizzo dei pacchetti Java org.apache.groovy o org.codehaus.groovy alla versione 4.0.22 o successiva per garantire il supporto per i runtime JVM più recenti.

    Questo bundle può essere incluso indirettamente aggiungendo dipendenze di terze parti come Groovy Console di AEM.

  • Versione minima di Aries SPIFly:
    Aggiornare l'utilizzo del pacchetto Java org.apache.aries.spifly.dynamic.bundle alla versione 1.3.6 o successiva per garantire il supporto per i runtime JVM più recenti.

AEM Cloud Service SDK supporta Java 21 e consente di verificare la compatibilità del progetto con Java 21 prima di eseguire una pipeline Cloud Manager.

  • Modifica un parametro runtime:
    Quando si esegue AEM localmente con Java 21, gli script iniziali (crx-quickstart/bin/start o crx-quickstart/bin/start.bat) non riescono a causa del parametro MaxPermSize. Per risolvere il problema, rimuovere -XX:MaxPermSize=256M dallo script o definire la variabile di ambiente CQ_JVM_OPTS, impostandola su -Xmx1024m -Djava.awt.headless=true.

    Questo problema è stato risolto con AEM Cloud Service SDK versione 19149 e successive.

IMPORTANTE
Se un ambiente non è ancora stato aggiornato automaticamente al runtime Java 21, puoi attivarlo creando Java 17 o 21. Questa operazione viene eseguita impostando .cloudmanager/java-version su 21 o 17. Per qualsiasi domanda, contatta Adobe all'indirizzo aemcs-java-adopter@adobe.com.