【问题标题】:setting JAVA_HOME to the JDK location mac osx 10.9.5将 JAVA_HOME 设置为 JDK 位置 mac osx 10.9.5
【发布时间】:2015-06-19 14:00:50
【问题描述】:

我关注this thread 来解决我的问题,我在使用不同版本的 JDK 时遇到了同样的问题,但由于某种原因它不起作用。当我在终端输入 JAVA_HOME 时,我仍然得到 -bash: JAVA_HOME: command not found。 我有位于 Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home 的 JDK1.8.0.45,我可以使用 /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。

谢谢!

【问题讨论】:

    标签: java macos maven java-home


    【解决方案1】:

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

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

    这一行基本上是说“运行名为 /usr/libexec/java_home 的程序并将其输出导出为名为 JAVA_HOME 的变量。”

    我建议在文本编辑器中打开您的 .profile 或 .bash_profile,而不是使用 echo 语句来添加新行。这样您就可以查看文件中的所有内容,并确保文件中的其他旧行不会给您带来问题。

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

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

    echo $JAVA_HOME
    

    在我的情况下,该 echo 命令的输出是: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

    【讨论】:

      【解决方案2】:

      可能你误解了一些事情。 JAVA_HOME 不是命令,而是环境变量。您不能在终端中调用 JAVA_HOME,因为 - 事实上 - 没有这样的命令,正如您的错误消息所说的那样。

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

      echo $JAVA_HOME
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-01
        • 2014-08-13
        • 2015-04-30
        • 2016-04-12
        • 1970-01-01
        • 1970-01-01
        • 2014-06-15
        • 2012-07-06
        相关资源
        最近更新 更多