由于XML和ClientLib错误,AEM Cloud Manager开发部署失败

本文介绍了在Adobe Experience Manager (AEM) Cloud Manager开发环境中,由于XML语法错误和客户端库编译问题而导致部署失败和部署时间增加的原因和解决步骤。

描述 description

环境

  • Adobe Experience Manager (AEM) Cloud Manager(所有版本)

问题/症状

  • 开发部署需要的时间比平常长很多(超过两个小时),并最终在部署阶段失败。

  • 部署管道通过验证、构建、单元测试、代码扫描和映像构建阶段,但在部署到开发阶段失败。

  • 部署日志显示与内容包中缺少XML结束标记相关的错误,例如:

    元素类型“content”必须以匹配的结束标记“< /content>”终止。

    元素类型“标头”必须以匹配的结束标记“< /header> ”终止。

  • 由于XML分析错误,分发包导入失败。

  • 发生客户端库(ClientLib) LESS编译错误,例如未定义的变量(例如@white)和缺少mixin。

  • 未解析的自定义模型类会出现Java编译错误。

  • 这些错误以前存在,但不会导致部署失败。 它们现在会导致管道故障。

原因

由于XML语法错误(缺少结束标记)、未解析的客户端库变量或mixin以及缺少自定义Java模型类,因此出现部署失败。 最近的管道或环境更改可能会导致这些问题使部署失败,即使这些问题以前不会造成阻塞。

解决方法 resolution

请按照以下步骤解决问题:

  1. 访问失败部署的Cloud Manager管道执行日志。
  2. 识别所有XML解析错误和客户端库编译错误。
  3. 查找引用的XML文件,例如,在/conf/.../settings/wcm/templates/下。
  4. 请确保所有XML元素(如<content><header>)都包含匹配的结束标记(如</content></header>)。
  5. 在提交更改之前,使用XML验证器验证XML结构。
  6. 查看LESS和CSS文件以了解未定义的变量,如@white@mid-blue,以及缺少的mixin,如.label-small-style().media()
  7. 定义缺少的变量和mixin,或更新导入以包含所需的定义。
  8. 在本地重建客户端库以确认编译成功。
  9. 确保组件引用的所有自定义Sling模型类都存在于代码库中并正确导入。
  10. 解决任何缺少的依赖项或不正确的包引用。
  11. 完成必要的更正后,将更改提交到存储库。
  12. 在Cloud Manager中触发新部署并监控管道,确认它已成功完成。
recommendation-more-help
experience-cloud-kcs-help-kbarticles