我有几个项目运行在Java1.8和Jenkins groovy script + Ansible中,作为部署的管道。一些项目现在已经迁移到Java11 (OpenJDK)。如何配置Jenkins以在迁移到Java 11中构建这些项目?
发布于 2019-07-02 04:47:25
首先你需要通过管理Jenkins菜单来添加java11jdk。这将修复构建问题。
对于groovy脚本:您不能在jenkins中设置JAVA_HOME并期望maven能够正确识别。这不管用。成功的方法是在管道中添加以下内容:
env.JAVA_HOME="${tool 'openjdk_11_0_1'}"
env.PATH="${env.JAVA_HOME}/bin:${env.PATH}""openjdk_11__1“是最初注册到Jenkins中的java配置的名称。
发布于 2019-07-02 07:57:07
在Jenkins 2.x中,在Jenkins | Manage Jenkins | Global Tool Configuration下
您应该可以找到"JDK Installations“一节。
在那里配置多个jdk。鉴于Oracle JDK自2019年4月以来的许可更改,我不建议对Oracle JDK使用“自动安装”。

这个问题描述了如何处理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
ps:对于freestyle作业,在General选项卡中的选项:

注意:如果只有一个JDK可用,则option is hidden。
发布于 2020-08-15 01:43:44
在Jenkins > Manage Jenkins > Configure System > Global properties > Add environment variable中。JAVA_HOME environment variable
https://stackoverflow.com/questions/56842222
复制相似问题