Java是macOS最新版本的可选包。
然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。
Java是macOS最新版本的可选包。
然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。
当前回答
下面的方法对我很有效。我在OSX Yosemite上使用ZSH安装了Java 8。
下面的命令/usr/libexec/java_home会生成JDK home的路径:
/ Library / Java / JavaVirtualMachines jdk1 8月0_05 jdk /地点/ Home。
在~/.zshrc中,
export JAVA_HOME = "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home"
其他回答
对于OS X你可以这样做:
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home`
上面的方法对我来说在亚马逊的EC2工具中不起作用,因为它期望在JAVA_HOME下面的bin/java等。/System/Library/Frameworks/JavaVM.framework/Home可以工作。
这个答案与山狮有关,与狮子无关。我需要为AWS命令行工具这样做。根据AWS文档,运行哪个java会返回/usr/bin/java.
因此,我在。bashrc中设置了JAVA_HOME=/usr。
显然,/usr/bin/java是一个指向/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java的符号链接。
更新
正如下面的评论中提到的,当JAVA_HOME环境变量被AWS命令行工具以外的东西使用时,这个JAVA_HOME值并不是理想的解决方案。不过,它在AWS命令行工具中工作得很好,正如它们的文档中给出的那样。
方便的命令,知道java的家和其他细节。
java -XshowSettings:properties -version
为了了解mac上的所有Java home:
/usr/libexec/java_home -V
对于Mac OS X 10.9,我从Oracle安装了最新版本的JRE,然后将JAVA_HOME重置为/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home。
我相信有更好的方法,但这让我开始运行。
hughsmac:~ hbrien$回溯$JAVA_HOME / Library / Java / JavaVirtualMachines jdk1。7 . 0_45 jdk /地点/ Home。