我一直在 Windows Jenkins 服务器上测试将 Oracle Java 8 更新为 Red Hat OpenJDK Java 11,但我似乎碰壁了。我的 Jenkins 实例指出 Java 11 不受支持,在我更新 JENKINS_HOME JRE 文件后返回以下错误:
“我们检测到 Jenkins 不支持您的 JVM。这是由于限制是 Jenkins 使用的库之一,即 XStream。有关详细信息,
请参阅此常见问题解答。”
我采取的步骤:
1. 停止并禁用 Jenkins 服务
2. 从控制面板卸载 Oracle Java 8 191 并删除 Java\jdk1.8.0_191 中的剩余程序文件
3. 将 Red Hat OpenJDK 11.0.4 msi 安装到 Java\jdk11。 0.4
4. 更新了 JAVA_HOME 和 PATH 变量以指向新的 Java 位置
5. 使用 JDK 中的所有模块从 JDK 11 文件创建 JRE 11。具体来说,我利用这个站点来帮助创建 JRE。将 JRE 文件放在服务器上的标准位置 Java\jre11.0.4
5. 将 Jenkins 服务设置为自动并启动它。确认 Jenkins 站点工作正常,然后再次停止并禁用服务
6. 备份 JENKINS_HOME 后,将那里的 JRE 文件夹替换为我从 JDK 11 文件创建的 jre11.0.4 文件夹。
7. 启动Jenkins服务。导航到 Jenkins 站点后,我收到有关 JVM 不受支持的错误消息。
8. 停止/禁用 Jenkins 服务,然后将 Jenkins.war 更新为 Jenkins 2.194 每周版本。(我之前运行的是 Jenkins LTS 2.176.3。)启动 Jenkins 服务,却收到同样的错误。
我不确定如何继续,“将 Jenkins Java 版本从 8 升级到 11” Jenkins 文档在这一点上并没有多大帮助。升级 Jenkins 部分的最后一步是“使用包管理器安装新的 JVM”和“确保默认的 JVM 是新安装的版本。如果不是,请在 Jenkins 启动脚本中使用正确的 java 命令”。这些说明似乎特定于在 Linux 操作系统上运行的 Jenkins 实例。如果它们适用于所有操作系统类型,我不确定如何在 Windows 环境中遵循它们。
我还查看了Jenkins 在 Java 11 上运行 Jenkins的文档,但也没有找到任何有用的信息。
最后是常见问题解答超链接错误消息中的错误消息不起作用,并且这个类似名称的 XStream 站点提供的唯一信息是说明 XStream 需要 Java 8,这与Jenkins 的 Java 文档直接冲突,即 Jenkins 支持 Java 8 和 11。
任何建议让任何版本的 Jenkins 与 OpenJDK 11 一起运行,或者我的下一步应该在这里做什么,将不胜感激。
软件和版本:
- Windows Server 2016
- Jenkins LTS 2.176.3
- Jenkins 每周发布 2.194
- Oracle Java JDK 和 JRE 1.8.0.191
- 从 JDK 文件中的所有模块创建的 Red Hat OpenJDK 1.11.0.4 和 JRE