JAVA_HOME未正确定义(仅来自jenkins)

时间:2013-04-16 07:49:35

标签: java ant jenkins

尝试设置jenkins,但我的构建失败了:

$ ant test
Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Build step 'Invoke Ant' marked build as failure

如果我在机器上手动运行“ant test”,它就可以正常运行并且JAVA_HOME设置为完全相同的值。知道为什么当jenkins试图运行它时失败了吗?是否有更多的环境变量(虽然我看不到)?

4 个答案:

答案 0 :(得分:6)

对于其他人,我必须将PATH /usr/bin/添加到Jenkins中的PATH变量中。 (使用which java)找到正确的路径。

詹金斯> Manage Jenkins> Configure System

添加Environment Variable>>

e.g:

姓名:PATH
价值:/usr/local/bin/:/usr/bin/

截图

enter image description here

答案 1 :(得分:3)

问题是这个,我忘了勾选方框"限制这个项目可以运行的地方"在项目配置中。因此,测试试图在" master"其中JAVA_HOME与构建执行程序上的预期不同,我打算在其上运行它。因此,我测试的地方和实际运行的地方是不同的机器。

答案 2 :(得分:2)

在Jenkins 2.107.1中的Jenkins系统配置中设置char[4]

答案 3 :(得分:0)

对我来说,上面的选项没有帮助,通过创建一个链接来解决问题:

sudo ln -s ${actual_java_location} /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

actual_java_location可以通过以下方式读取:

 readlink -f $(which java)