HTTPS Maven 存储库
Cloud Manager 版本 2023.10.0 开始了对构建环境的一项滚动更新(在推出版本 2023.12.0 时完成更新),其中包括对 Maven 3.8.8 的更新。Maven 3.8.1 中引入的一项重大更改是旨在减少潜在漏洞的一项安全增强。具体来说,Maven 现在默认禁用所有不安全的 http://*
镜像,如 Maven 发行说明中所述。
此安全增强导致某些用户可能在构建步骤中遇到问题,尤其是从使用不安全 HTTP 连接的 Maven 存储库下载工件时。
为了确保更新版本的流畅体验,Adobe 建议用户更新其 Maven 存储库以使用 HTTPS 代替 HTTP。此调整与行业日益转向安全通信协议的趋势一致,并有助于构建过程保持安全可靠。
使用特定的Java版本
默认情况下,Cloud Manager构建过程使用Oracle 8 JDK构建项目,但AEM Cloud Service客户应将Maven执行JDK版本设置为21(首选)、17或11。
设置Maven JDK版本
要设置Maven执行JDK,请在管道使用的Git存储库分支中创建名为.cloudmanager/java-version
的文件。 编辑文件,使其仅包含文本21
或17
。 虽然Cloud Manager也接受值8
,但AEM Cloud Service项目不再支持此版本。 任何其他值将被忽略。 当指定21
或17
时,将使用Oracle Java 21或Oracle Java 17。
迁移到使用Java 21或Java 17进行构建的先决条件
要使用Java 21或Java 17进行构建,Cloud Manager现在使用与这些Java版本兼容的SonarQube 9.9。 此更改已在Cloud Manager 2025.1.0版中引入。无需客户执行任何操作即可升级SonarQube。 有关更多详细信息以及所做的更改,请参阅Cloud Manager 2025.1.0发行说明。
将应用程序迁移到新的Java内部版本和运行时版本时,请先在开发和暂存环境中进行全面测试,然后再部署到生产环境。
Adobe建议采用以下部署策略:
- 使用Java 21运行本地SDK(可从https://experience.adobe.com/#/downloads下载),然后将应用程序部署到其中并验证其功能。 检查日志中是否存在错误,这些错误表示类加载或字节码编织有问题。
- 在Cloud Manager存储库中配置分支以使用Java 21作为构建时Java版本,配置开发管道以使用此分支并运行管道。 运行验证测试。
- 如果一切正常,请将stage/prod管道配置为使用Java 21作为构建时Java版本,然后运行该管道。
关于某些翻译功能
在Java 21运行时中部署以下功能时,这些功能可能无法正常运行,Adobe预计到2025年初可以解决这些问题:
- 使用人工翻译时,
XLIFF
(XML本地化交换文件格式)失败。 - 由于较新Java版本中的语言环境构造函数发生了更改,
I18n
(国际化)不能正确处理希伯来语(he
)、印尼语(in
)和意第绪语(yi
)的语言环境。