在Jenkins for Java 11中指定JAVA_HOME

时间:2019-07-01 20:43:43

标签: java jenkins groovy

我有几个在Java 1.8和Jenkins groovy脚本中运行的项目+ Ansible充当pipleine进行部署。 现在,有些项目已迁移到Java 11(OpenJDK)。如何配置Jenkins以在迁移到Java 11时构建这些项目?

3 个答案:

答案 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月以来的许可更改,我不建议为其自动安装。

JDK Installations

这个问题描述了处理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:对于自由式作业,在“常规”选项卡中的选择: enter image description here

注意:如果只有一个JDK,则option is hidden

答案 2 :(得分:0)

在Jenkins中>管理Jenkins>配置系统>全局属性>添加环境变量。 JAVA_HOME environment variable