HTTPS Maven-databaser

Cloud Manager release 2023.10.0 påbörjade en rullande uppdatering av byggmiljön (som i version 2023.12.0) som innehöll en uppdatering till Maven 3.8.8. En betydande förändring som introducerades i Maven 3.8.1 var en säkerhetsförbättring som syftar till att minska potentiella sårbarheter. Maven inaktiverar nu alla osäkra http://*-speglar som standard, vilket beskrivs i versionsinformationen för Maven.

Som ett resultat av den här säkerhetsförbättringen kan vissa användare råka ut för problem under byggfasen, särskilt när artefakter hämtas från Maven-databaser som använder osäkra HTTP-anslutningar.

För att få en smidig upplevelse med den uppdaterade versionen rekommenderar Adobe att användare uppdaterar sina Maven-databaser så att HTTPS används istället för HTTP. Denna justering är anpassad efter branschens växande övergång till säkra kommunikationsprotokoll och hjälper till att upprätthålla en säker och tillförlitlig byggprocess.

Använd en specifik Java-version

Cloud Manager byggprocess använder Oracle 8 JDK för att skapa projekt som standard, men kunder som använder AEM Cloud Service bör ställa in JDK-versionen för Maven-exekvering på 21 (standard), 17 eller 11.

Ange version av Maven JDK

Om du vill ställa in Maven-körnings-JDK skapar du en fil med namnet .cloudmanager/java-version i Git-databasgrenen som används av pipelinen. Redigera filen så att den bara innehåller texten, 21 eller 17. Även om Cloud Manager accepterar värdet 8 stöds inte den här versionen längre för AEM Cloud-serviceprojekt. Alla andra värden ignoreras. När 21 eller 17 har angetts används Oracle Java 21 eller Oracle Java 17.

Krav för migrering till byggteknik med Java 21 eller Java 17

För att kunna bygga med Java 21 eller Java 17 använder Cloud Manager nu SonarQube 9.9, som är kompatibelt med dessa Java-versioner. Den här ändringen infördes i Cloud Manager version 2025.1.0. Ingen kundåtgärd krävs för att uppgradera SonarQube. Mer information och information om ändringen finns i Versionsinformation för Cloud Manager 2025.1.0.

När du migrerar ditt program till en ny Java-version och runtime-version bör du noggrant testa i miljö med dev och stage innan du distribuerar till produktion.

Adobe rekommenderar följande distributionsstrategi:

  1. Kör ditt lokala SDK med Java 21, som du kan ladda ned från https://experience.adobe.com/#/downloads, distribuera programmet till det och validera dess funktioner. Kontrollera loggarna att det inte finns några fel, vilket tyder på problem med inläsning av klass eller byte-kod.
  2. Konfigurera en gren i din Cloud Manager-databas att använda Java 21 som Java-version vid byggtid, konfigurera en DEV-pipeline att använda den här grenen och kör pipeline. Kör dina valideringstester.
  3. Om det ser bra ut kan du konfigurera din stage/prod-pipeline så att den använder Java 21 som Java-version vid byggtiden och köra pipeline.
Om vissa översättningsfunktioner

Följande funktioner kanske inte fungerar som de ska när de körs i Java 21, och Adobe räknar med att kunna åtgärda dem i början av 2025:

  • XLIFF (XML Localization Interchange File Format) misslyckas när mänsklig översättning används.
  • I18n (Internationalisering) hanterar inte språk på korrekt sätt hebreiska (he), indonesiska (in) och jiddistiska (yi) på grund av ändringar i språkkonstruktorn i nyare Java-versioner.

Körningskrav

Java 21-miljön har tillämpats på alla berättigade miljöer, som är miljöer i AEM version 17098 eller senare som uppfyller villkoren nedan. Om en miljö inte uppfyller kriterierna är det viktigt att göra justeringar för att säkerställa prestanda, tillgänglighet och säkerhet.

  • Lägsta version av ASM:
    Uppdatera användningen av Java-paketet org.objectweb.asm, som ofta paketeras i org.ow2.asm.* artefakter, till version 9.5 eller senare för att säkerställa stöd för nyare JVM-miljöer.

  • Minimiversion av Groovy:
    Uppdatera användningen av Java-paketen org.apache.groovy eller org.codehaus.groovy till version 4.0.22 eller senare för att säkerställa stöd för nyare JVM-miljöer.

    Det här paketet kan inkluderas indirekt genom att du lägger till tredjepartsberoenden som AEM Groovy Console.

  • Minimiversion av Aries SPIFly:
    Uppdatera användningen av Java-paketet org.apache.aries.spifly.dynamic.bundle till version 1.3.6 eller senare för att säkerställa stöd för nyare JVM-miljöer.

AEM Cloud-tjänsten SDK har stöd för Java 21 och gör att du kan kontrollera om ditt projekt är kompatibelt med Java 21 innan du kör en Cloud Manager-pipeline.

  • Redigera en körningsparameter:
    När AEM körs lokalt med Java 21 misslyckas startskripten (crx-quickstart/bin/start eller crx-quickstart/bin/start.bat) på grund av parametern MaxPermSize . Ta bort -XX:MaxPermSize=256M från skriptet eller definiera miljövariabeln CQ_JVM_OPTS genom att ange den som -Xmx1024m -Djava.awt.headless=true.

    Problemet har lösts i AEM Cloud Service SDK version 19149 och senare.

VIKTIGT
Om en miljö ännu inte har uppdaterats automatiskt till Java 21-miljön kan du aktivera den genom att bygga med Java 17 eller 21. Detta görs genom att ställa in .cloudmanager/java-version21 eller 17. Kontakta Adobe på aemcs-java-adopter@adobe.com om du har frågor.