詹金斯:你的JAVA_主页在OSX上无效

詹金斯:你的JAVA_主页在OSX上无效,java,android,macos,jenkins,Java,Android,Macos,Jenkins,我正在使用Jenkins在mac stadium虚拟机上构建一个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

我正在使用Jenkins在mac stadium虚拟机上构建一个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.
/var/lib/jenkins/jdk…
在VM上不存在。我还尝试更新构建作业以包括
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在VM上构建?

在mac上设置JAVA\u HOME的最佳方法是在从oracle下载并安装所需的JDK后使用
JAVA\u 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

在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

什么是
java\u home
?什么是
java\u home
??