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

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


当前回答

OSX Yosemite, ZSH和Java SE运行时环境8,我不得不:

$ sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands /System/Library/Frameworks/JavaVM.framework/Versions/Current/bin

在~/中。将JAVA_HOME更改为 出口JAVA_HOME = " /系统/图书馆/框架/ JavaVM.framework /版本/当前”

其他回答

安装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标志。

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

我的方法是:

. bashrc

export JAVA6_HOME=`/usr/libexec/java_home -v 1.6`
export JAVA7_HOME=`/usr/libexec/java_home -v 1.7`
export JAVA_HOME=$JAVA6_HOME

# -- optional
# export PATH=$JAVA_HOME/bin:$PATH

这使得在J6和J7之间切换非常容易

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

在Mac OS X Lion上,设置visualgc运行,我使用:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home