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:
- 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.
- 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.
- 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-paketetorg.objectweb.asm
, som ofta paketeras iorg.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-paketenorg.apache.groovy
ellerorg.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-paketetorg.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
ellercrx-quickstart/bin/start.bat
) på grund av parameternMaxPermSize
. Ta bort-XX:MaxPermSize=256M
från skriptet eller definiera miljövariabelnCQ_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.
.cloudmanager/java-version
på 21
eller 17
. Kontakta Adobe på aemcs-java-adopter@adobe.com om du har frågor.