Repositórios Maven HTTPS

O Cloud Manager versão 2023.10.0 iniciou uma atualização contínua do ambiente de compilação (que terminou com a versão 2023.12.0) que incluiu a atualização para o Maven 3.8.8. Uma mudança significativa introduzida no Maven 3.8.1 foi um aprimoramento de segurança destinado a reduzir possíveis vulnerabilidades. Mais especificamente, o Maven agora desabilita por padrão todos os espelhos inseguros de http://*, conforme descrito nas notas de versão do Maven.

Como resultado desse aprimoramento de segurança, algumas pessoas podem enfrentar problemas durante a etapa de compilação, especialmente ao baixar artefatos de repositórios Maven que usam conexões HTTP inseguras.

Para garantir uma experiência perfeita com a versão atualizada, a Adobe recomenda atualizar os repositórios Maven para usar HTTPS em vez de HTTP. Esse ajuste se alinha à evolução contínua do setor em direção a protocolos de comunicação seguros e ajuda a manter um processo de compilação seguro e confiável.

Usar uma versão específica do Java

O processo de compilação do Cloud Manager usa o Oracle 8 JDK para criar projetos por padrão, mas os clientes do AEM Cloud Service devem definir a versão do JDK de execução do Maven como 21 (preferencial), 17 ou 11.

Definir a versão do JDK Maven

Para definir o JDK de execução do Maven, crie um arquivo chamado .cloudmanager/java-version na ramificação do repositório Git usada pelo pipeline. Edite o arquivo de forma que ele contenha apenas o texto 21 ou 17. Embora a Cloud Manager também aceite o valor 8, essa versão não é mais compatível com os projetos do AEM Cloud Service. Qualquer outro valor será ignorado. Quando 21 ou 17 é especificado, o Oracle Java 21 ou o Oracle Java 17 é usado.

Pré-requisitos para migrar para a criação com Java 21 ou Java 17

Para construir com o Java 21 ou Java 17, o Cloud Manager agora usa o SonarQube 9.9, que é compatível com essas versões do Java. Essa alteração foi introduzida na versão 2025.1.0 do Cloud Manager. Nenhuma ação do cliente é necessária para atualizar o SonarQube. Para obter mais detalhes e entender a alteração, consulte as Notas de versão para Cloud Manager 2025.1.0.

Ao migrar seu aplicativo para uma nova versão de build e versão de tempo de execução do Java, teste completamente nos ambientes de desenvolvimento e preparo antes de implantar na produção.

A Adobe recomenda a seguinte estratégia de implantação:

  1. Execute seu SDK local com o Java 21, que você pode baixar de https://experience.adobe.com/#/downloads, e implante seu aplicativo nele e valide sua funcionalidade. Verifique os registros de que não há erros, o que indica problemas com o carregamento de classe ou tecelagem de código de bytes.
  2. Configure uma ramificação no repositório do Cloud Manager para usar o Java 21 como a versão do Java em tempo de compilação, configure um pipeline DEV para usar essa ramificação e execute o pipeline. Execute seus testes de validação.
  3. Se estiver bom, configure seu pipeline de preparo/produção para usar o Java 21 como a versão de Java de tempo de compilação e execute o pipeline.
Sobre alguns recursos de tradução

Os seguintes recursos podem não funcionar corretamente quando implantados no tempo de execução do Java 21, e a Adobe espera resolvê-los no início de 2025:

  • XLIFF (Formato de Arquivo de Intercâmbio de Localização XML) falha ao usar a Tradução Humana.
  • I18n (Internacionalização) não lida corretamente com idiomas locais em hebraico (he), indonésio (in) e iídiche (yi) devido a alterações no construtor de Localidade em versões Java mais recentes.

Requisitos de tempo de execução

O tempo de execução do Java 21 foi aplicado a todos os ambientes elegíveis, que são ambientes no AEM versão 17098 ou posterior que atendem aos critérios abaixo. Se um ambiente não atender aos critérios, é importante fazer ajustes para garantir desempenho, disponibilidade e segurança.

  • Versão mínima do ASM:
    Atualize o uso do pacote Javaorg.objectweb.asm, geralmente incluído nos artefatos org.ow2.asm.*, para a versão 9.5 ou superior para garantir o suporte para tempos de execução JVM mais recentes.

  • Versão mínima do Groovy:
    Atualize o uso dos pacotes Java org.apache.groovy ou org.codehaus.groovy para a versão 4.0.22 ou superior para garantir o suporte para tempos de execução JVM mais recentes.

    Esse pacote pode ser incluído indiretamente adicionando dependências de terceiros, como o console do AEM Groovy.

  • Versão mínima de Aries SPIFly:
    Atualize o uso do pacote Java org.apache.aries.spifly.dynamic.bundle para a versão 1.3.6 ou mais recente para garantir o suporte para tempos de execução JVM mais recentes.

O AEM Cloud Service SDK é compatível com o Java 21 e permite verificar a compatibilidade do seu projeto com o Java 21 antes de executar um pipeline da Cloud Manager.

  • Editar um parâmetro de tempo de execução:
    Ao executar o AEM localmente com o Java 21, os scripts de inicialização (crx-quickstart/bin/start ou crx-quickstart/bin/start.bat) falham devido ao parâmetro MaxPermSize. Como solução, remova -XX:MaxPermSize=256M do script ou defina a variável de ambiente CQ_JVM_OPTS, definindo-a como -Xmx1024m -Djava.awt.headless=true.

    Esse problema é resolvido na SDK do AEM Cloud Service versão 19149 e posterior.

IMPORTANTE
Se um ambiente ainda não tiver sido atualizado automaticamente para o tempo de execução do Java 21, você poderá acioná-lo criando com o Java 17 ou 21. Isso é feito configurando .cloudmanager/java-version como 21 ou 17. Entre em contato com a Adobe em aemcs-java-adopter@adobe.com em caso de dúvidas.