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

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


当前回答

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

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

其他回答

一个更好的(更可升级的)方法是使用以下方法:

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

这应该与AWS一起工作,因为它在Home下面有bin

更新的Oracle jvm(如1.7.0_21-b12)似乎安装在这里:

/Library/Internet\ 插件/JavaAppletPlugin.plugin/Content/Home

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

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

/usr/ libeexec /java_home不是一个目录,而是一个可执行文件。它输出当前配置的JAVA_HOME,并且不实际更改它。这就是Java Preferences应用程序的作用,在我的例子中,它似乎坏了,实际上没有正确地更改JVM。它确实列出了1.7 JVM,但我可以切换/取消切换和拖放我想要的一切,而不实际改变/usr/libexec/java_home的输出。

即使在Lion上从Oracle安装了1.7.0 u6并在首选项中将其设置为默认值后,它仍然返回apple 1.6 java home。唯一对我有效的修复是手动设置JAVA_HOME:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/

至少这样,当从命令行运行时,它将使用1.7。/usr/libexec/java_home仍然坚持1.6。

更新:在OSX上从命令行理解Java有更好的解释如何工作。

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

就是这样做的。注意,将其更新到1.8就可以了。

对我来说,Mountain Lion 10.8.2,大多数人投票的解决方案不起作用。 我通过Oracle安装了jdk 1.7,从homebrew安装了maven。

我的解决方案来自hadoop的hadoop-env.sh文件,我也从homebrew安装。 我在~/中加入了下面的句子。Bash_profile,它可以工作。

export JAVA_HOME="$(/usr/libexec/java_home)"

此解决方案也适用于从Oracle安装Java 1.8的OS X Yosemite。