Jenkins:你的JAVA_HOME在OS X上无效

时间:2016-05-27 22:39:01

标签: java android macos jenkins

我正在使用Jenkins在mac体育场VM上构建一个android项目。

当我VNC进入VM时,我可以很好地构建项目。 Java安装在/usr/bin/java,我的$PATH包含/usr/bin

当我从Jenkins作业运行相同的命令时,它失败并带有

ERROR: JAVA_HOME is set to an invalid directory: /var/lib/jenkins/jdk1.8.0_25

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
VM上不存在

/var/lib/jenkins/jdk...。我还尝试更新构建作业以包含export JAVA_HOME=/usr/bin,但后来我得到了一个不同的错误:

Error: Failed to run "java -version", make sure that you have a JDK installed.
You can get it from: http://www.oracle.com/technetwork/java/javase/downloads.
Your JAVA_HOME is invalid: /usr/bin

所有其他步骤似乎都有效,所以我可以告诉代码正在下载到工作区,其他所有内容都已正确安装,正如我所说,我可以直接从命令行在VM上构建android。

如何让Jenkins在虚拟机上构建?

1 个答案:

答案 0 :(得分:5)

在mac上设置JAVA_HOME的最佳方法是在从oracle下载并安装所需的JDK后使用java_home

export JAVA_HOME=`/usr/libexec/java_home`

如果您希望Jenkins使用旧版本的JDK,请确保使用-v标志:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

要预览位置,只需在终端中输入java_home命令:

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home