Java是macOS最新版本的可选包。

然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。


当前回答

对于Mac上的Fish终端用户(我相信它也可以在Linux上使用),这应该可以工作:

set -Ux JAVA_8 (/usr/libexec/java_home --version 1.8)
set -Ux JAVA_12 (/usr/libexec/java_home --version 12)
set -Ux JAVA_HOME $JAVA_8       //or whichever version you want as default

其他回答

MAC用户。 Java 8应该添加

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
# JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

Java 6:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
# JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

裁判:http://qiita.com/seri_k/items/e978c1339ce51f13e297

安装Java可选包或Oracle JDK后, 在~/中添加下列行之一。Bash_profile文件将相应地设置环境变量。

export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
or simply
export JAVA_HOME="$(/usr/libexec/java_home)"

注意:如果在mac上使用brew安装openjdk,请执行sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /图书馆/ Java / JavaVirtualMachines / openjdk。JDK为上述工作

更新:根据Jilles van Gurp的响应增加了-v标志。

下面的方法对我很有效。我在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"

上面的方法对我来说在亚马逊的EC2工具中不起作用,因为它期望在JAVA_HOME下面的bin/java等。/System/Library/Frameworks/JavaVM.framework/Home可以工作。

麦克·约塞米蒂,

JDK 1.7.0_xx正在使用

$ ls -ltar /usr/bin/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.7.0_xx.jdk/Contents/Home