我有几个在Java 1.8和Jenkins groovy脚本中运行的项目+ Ansible充当pipleine进行部署。 现在,有些项目已迁移到Java 11(OpenJDK)。如何配置Jenkins以在迁移到Java 11时构建这些项目?
答案 0 :(得分:0)
首先,您需要通过进入Manage Jenkins菜单添加Java 11 jdk。这将解决构建问题。
对于常规脚本: 您不能在jenkins中设置JAVA_HOME并期望Maven能够正确拾取。它不会工作。 成功的方法是将其添加到管道中:
env.JAVA_HOME="${tool 'openjdk_11_0_1'}"
env.PATH="${env.JAVA_HOME}/bin:${env.PATH}"
“ openjdk_11_0_1”是最初注册到Jenkins中的Java配置的名称
答案 1 :(得分:0)
在Jenkins 2.x中,在Jenkins下|管理詹金斯|全局工具配置,
您应该找到“ JDK安装”部分。
在那里配置多个jdk。由于Oracle JDK自2019年4月以来的许可更改,我不建议为其自动安装。
这个问题描述了处理multiple jdk in a pipeline。
对应于图像示例中的名称,工具值将为:
tools {
jdk 'jdk1.8'
jdk 'jdk1.6'
}
对于Maven,
使用Maven工具链/配置文件来动态选择要使用的工具:https://maven.apache.org/guides/mini/guide-using-toolchains.html
https://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html
注意:如果只有一个JDK,则option is hidden。
答案 2 :(得分:0)
在Jenkins中>管理Jenkins>配置系统>全局属性>添加环境变量。 JAVA_HOME environment variable