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:
- 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.
- 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.
- 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 artefatosorg.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 Javaorg.apache.groovy
ouorg.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 Javaorg.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
oucrx-quickstart/bin/start.bat
) falham devido ao parâmetroMaxPermSize
. Como solução, remova-XX:MaxPermSize=256M
do script ou defina a variável de ambienteCQ_JVM_OPTS
, definindo-a como-Xmx1024m -Djava.awt.headless=true
.Esse problema é resolvido na SDK do AEM Cloud Service versão 19149 e posterior.
.cloudmanager/java-version
como 21
ou 17
. Entre em contato com a Adobe em aemcs-java-adopter@adobe.com em caso de dúvidas.