Cloud Manager 内部版本在 Java 11 上失败 | AEM

问题

尝试将 AEM Cloud Manager 内部版本从 Java 8 转换为 Java 11 时,该内部版本失败。

解决方案

导致该问题的原因有很多。但是,有几个最常见的原因,如下所述:

  1. 添加具有适用于 Java 11 的正确设置的 maven-toolchains-plugin 插件(如此处文档中所述)。例如,请参阅 wknd 示例项目代码
  2. 如果您看到以下错误,则需要删除所使用的 maven-scr-plugin,并将所有 OSGi 注释转换为 OSGi R6 注释。有关说明,请参阅此处
    [main] [ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.26.4:scr (generate-scr-scrdescriptor) on project helloworld.core: /build_root/build/testsite/src/main/java/com/adobe/HelloWorldServiceImpl.java : Unable to load compiled class: com.adobe.HelloWorldServiceImpl: com/adobe/HelloWorldServiceImpl has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 -> [Help 1]
  3. 对于 Cloud Manager 内部版本,maven enforcer 插件失败,出现的错误为:“[main] [WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion”。这是一个已知问题,原因在于 Cloud Manager 使用不同的 java 版本(而不是编译代码)来运行 maven 命令。目前,请忽略 maven-enforcer-plugin 配置中的 requireJavaVersion。
Adobe 徽标

登录到您的帐户