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

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


当前回答

对我来说,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。

其他回答

对于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。

适用于macOS Mojave 10.14.1和JAVA 11.0.1 我将配置文件设置为

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

在终端输入此键确认:

$JAVA_HOME/bin/java -version

java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

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 /版本/当前”

我必须在我的Macbook air上明确地将它设置为准确的路径。

步骤是:

尝试回显$JAVA_HOME(如果设置了,它会显示路径),如果没有,尝试使用sudo find /usr/ name *jdk搜索它 使用- sudo nano ~/.bash_profile编辑Bash p 添加JAVA Home的确切路径(使用上面第2步中的路径) 出口JAVA_HOME = /图书馆/ Java / Home / JavaVirtualMachines / jdk1.8.0_144.jdk /内容 保存并退出 使用- echo $ JAVA_Home检查JAVA_Home

我在Macbook Air上使用JAVA 8运行MACOS MOJAVE - 10.14.2 (18C54)

这个答案与山狮有关,与狮子无关。我需要为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命令行工具中工作得很好,正如它们的文档中给出的那样。