将 JAVA_HOME 设置为 JDK 位置 mac osx 10.9.5

setting JAVA_HOME to the JDK location mac osx 10.9.5

我按照 this thread 解决了我的问题,我用不同版本的 JDK 也遇到了同样的问题,但由于某种原因它没有用。我仍然得到 -bash: JAVA_HOME: command not found 当我在终端输入 JAVA_HOME . 我有 JDK1.8.0.45 位于 Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home 我可以用 /usr/libexec/java_home

正在使用

echo "export JAVA_HOME=/usr/libexec/java_home" >> ~/.profile

~/.profile

我明白了 “导出 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home” 保存到 ~/.profile,我可以使用 /usr/bin/open ~/.profile

检查这个

但我不明白为什么 JAVA_HOME 仍然不起作用,我需要这个来安装 maven。

谢谢!

我的 ~/.bash_profile 里面有这一行,一直运行良好。

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

这一行基本上是说"run the program named /usr/libexec/java_home and export its output as a variable named JAVA_HOME."

我建议在文本编辑器中打开您的 .profile 或 .bash_profile 而不是使用 echo 语句向其追加新行。这样您就可以看到文件中的所有内容并确保文件中的其他旧行不会导致您出现问题。

对 .bash_profile 进行更改后,确保在测试之前打开一个新终端 window。

您可以通过简单地回显其值来检查任何环境变量(包括 JAVA_HOME)的值:

echo $JAVA_HOME

在我的例子中,回显命令的输出是: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

你可能误会了。 JAVA_HOME 不是命令,是环境变量。您不能在终端中调用 JAVA_HOME 因为 - 事实上 - 没有这样的命令,如您的错误消息所述。

您可以通过以下方式查看此变量的值:

echo $JAVA_HOME

如果它已设置并指向正确的位置,那就没问题了。一些需要设置此变量的工具(例如 Maven 或 Java IDE)将运行良好。