Door HTTPS aangebrachte opslagruimten

Cloud Manager versie 2023.10.0begon een het rollen update aan het bouwstijlmilieu (die met versie 2023.12.0) voltooide, die een update aan Geweven 3.8.8 omvatte. Een belangrijke wijziging die werd aangebracht in Maven 3.8.1 was een verbetering van de beveiliging die bedoeld was om potentiële kwetsbaarheden te beperken. Specifiek, maven maakt nu alle onveilige http://* spiegels door gebrek onbruikbaar, zoals die in de Gemaakt versienota'sworden geschetst.

Als gevolg van deze beveiligingsuitbreiding kunnen sommige gebruikers problemen ondervinden tijdens de constructiestap, met name wanneer ze artefacten downloaden van Geweven opslagplaatsen die onveilige HTTP-verbindingen gebruiken.

Voor een vlotte ervaring met de bijgewerkte versie raadt Adobe gebruikers aan hun Geweven opslagplaatsen bij te werken om HTTPS in plaats van HTTP te gebruiken. Deze aanpassing sluit aan op de groeiende verschuiving van de industrie naar veilige communicatieprotocollen en helpt een veilig en betrouwbaar bouwproces in stand te houden.

Een specifieke Java-versie gebruiken

In het Cloud Manager-ontwikkelproces wordt standaard gebruikgemaakt van de Oracle 8 JDK om projecten te maken, maar klanten van AEM Cloud Service moeten de JDK-versie van Maven voor uitvoering instellen op 21 (voorkeur), 17 of 11.

De Maven JDK-versie instellen

Als u de Git-uitvoeringsmodus JDK wilt instellen, maakt u een bestand met de naam .cloudmanager/java-version in de vertakking Git-opslagplaats die door de pijplijn wordt gebruikt. Bewerk het bestand zodat het alleen de tekst 21 of 17 bevat. Hoewel Cloud Manager ook de waarde 8 accepteert, wordt deze versie niet meer ondersteund voor AEM Cloud Service-projecten. Eventuele andere waarden worden genegeerd. Wanneer 21 of 17 wordt opgegeven, wordt Oracle Java 21 of Oracle Java 17 gebruikt.

Vereisten voor migratie naar gebouwen met Java 21 of Java 17

Cloud Manager gebruikt nu SonarQube 9.9 om te bouwen met Java 21 of Java 17. Dit is compatibel met deze Java-versies. Deze wijziging is geïntroduceerd in Cloud Manager release 2025.1.0. Er is geen actie van de klant vereist om SonarQube te upgraden. Voor meer details en om de verandering te begrijpen, zie de Nota's van de Versie voor Cloud Manager 2025.1.0.

Wanneer u uw toepassing naar een nieuwe Java-versie (build) en een nieuwe runtimeversie migreert, moet u deze grondig testen in ontwikkelings- en werkgebiedomgevingen voordat u de toepassing implementeert naar productie.

Adobe beveelt de volgende implementatiestrategie aan:

  1. Voer uw lokale SDK uit met Java 21, dat u kunt downloaden van https://experience.adobe.com/#/downloads, en implementeer uw toepassing in dit programma en valideer de functionaliteit ervan. Controleer de logboeken dat er geen fouten zijn, die op problemen met het laden van klassen of bytecode het weven wijzen.
  2. Configureer een vertakking in uw Cloud Manager-opslagplaats om Java 21 te gebruiken als Java-versie voor de ontwikkelingstijd, configureer een DEV-pijpleiding om deze vertakking te gebruiken en de pijpleiding uit te voeren. Voer uw validatietests uit.
  3. Als het goed kijkt, vorm uw stadium/staafpijpleiding om Java 21 als versie van bouwstijltijdJava te gebruiken en de pijpleiding in werking te stellen.
Enkele vertaalfuncties

De volgende functies werken mogelijk niet correct wanneer deze worden geïmplementeerd in de Java 21-runtime, en Adobe verwacht deze functies begin 2025 te kunnen oplossen:

  • XLIFF (XML Localization Interchange File Format) mislukt bij gebruik van Human Translation.
  • I18n (Internationalisatie) behandelt de taallandinstellingen Hebreeuws (he), Indonesisch (in) en Jiddisch (yi) niet correct als gevolg van wijzigingen in de constructor Locale in nieuwere Java-versies.

Runtime-vereisten

De Java 21-runtime is toegepast op alle in aanmerking komende omgevingen, omgevingen in AEM versie 17098 of hoger die aan de onderstaande criteria voldoen. Als een omgeving niet aan de criteria voldoet, is het belangrijk om aanpassingen aan te brengen om prestaties, beschikbaarheid, en veiligheid te verzekeren.

  • Minimale versie van ASM:
    Werk het gebruik van het pakket van Java org.objectweb.asm bij, vaak gebundeld in org.ow2.asm.* artefacten, aan versie 9.5 of hoger om steun voor nieuwere JVM runtimes te verzekeren.

  • Minimale versie van Groovy:
    Werk het gebruik van de Java-pakketten org.apache.groovy of org.codehaus.groovy bij naar versie 4.0.22 of hoger om ondersteuning voor nieuwere JVM-runtimes te garanderen.

    Deze bundel kan indirect worden omvat door dergebiedsdelen zoals de Console van AEM Groovy toe te voegen.

  • Minimale versie van Aries SPIFly:
    Werk het gebruik van het Java-pakket org.apache.aries.spifly.dynamic.bundle bij naar versie 1.3.6 of hoger om ondersteuning voor nieuwere JVM-runtimes te garanderen.

De AEM Cloud Service SDK ondersteunt Java 21 en biedt u de mogelijkheid om de compatibiliteit van uw project met Java 21 te controleren voordat u een Cloud Manager-pijpleiding uitvoert.

  • geef een runtime parameter uit:
    Wanneer AEM lokaal wordt uitgevoerd met Java 21, mislukken de beginscripts ( crx-quickstart/bin/start of crx-quickstart/bin/start.bat ) vanwege de parameter MaxPermSize . Als remedie verwijdert u -XX:MaxPermSize=256M uit het script of definieert u de omgevingsvariabele CQ_JVM_OPTS en stelt u deze in op -Xmx1024m -Djava.awt.headless=true .

    Dit probleem is opgelost in AEM Cloud Service SDK versie 19149 en hoger.

BELANGRIJK
Als een omgeving nog niet automatisch is bijgewerkt naar de Java 21-runtime, kunt u deze activeren door te bouwen met Java 17 of 21. Dit doet u door .cloudmanager/java-version in te stellen op 21 of 17 . Contact Adobe in aemcs-java-adopter@adobe.comals u vragen hebt.