什么是Mac上的JDK路径?

时间:2013-08-09 10:28:48

标签: macos java

我只在工作时使用Mac,我需要将JAVA_HOME设置为正确的JDK路径。我下载了JDK,安装了它,现在我无法在任何地方找到它。我正在寻找互联网的解决方案,但没有文件夹Libraries / Java。

5 个答案:

答案 0 :(得分:610)

该位置已从Java 6(Apple提供)更改为Java 7及更高版本(由Oracle提供)。找到这个的最佳通用方法是运行

/usr/libexec/java_home

这是本机支持的方法,可以找到默认Java安装的路径以及所有存在的替代路径。

如果查看其帮助文本(java_home -h),您将看到可以使用此命令在OS X(java_home --exec ...)上可靠地启动Java程序,并具有明确的能力指定所需的Java版本和体系结构,甚至要求用户在缺少时安装它。

更加行人化的方法,但是可以帮助您具体跟踪命令java解析为哪个Java安装的方法,如下所示:

  1. 运行

    which java
    
  2. 如果它为您提供类似/usr/bin/java的内容,这是指向真实位置的符号链接,请运行

    ls -l `which java`
    

    在我的系统上,输出

    /usr/bin/java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java
    

    从那里你可以阅读Java主目录;

  3. 如果usr/bin/java指向另一个符号链接,则以

    递归方式应用相同的方法
    ls -l <whatever the /usr/bin/java symlink points to>
    

  4. 如果您首先安装Apple的Java并稍后安装Oracle,那么一个重要的变化是您获得的设置。在这种情况下,上面的第2步将为您提供

    /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java
    

    并且该特定java二进制文件是一个存根,它将通过查询java环境变量来解析要调用的实际JAVA_HOME命令,如果它未设置或未指向Java主目录将回退到调用java_home。在调试设置时,请务必记住这一点。

答案 1 :(得分:33)

您使用的是哪个Mac版本?尝试这些路径

 /System/Library/Frameworks/JavaVM.framework/ OR
 /usr/libexec/java_home

此链接可能有所帮助 - How To Set $JAVA_HOME Environment Variable On Mac OS X

答案 2 :(得分:26)

看看JDK是否在:

库/爪哇/ JavaVirtualMachines / 要么 /系统/库/爪哇/ JavaVirtualMachines /

检查此前SO帖子: JDK on OSX 10.7 Lion

答案 3 :(得分:5)

在我的Mac上:

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

顺便说一下,你试过which java吗?

答案 4 :(得分:5)

/System/Library/Frameworks/JavaVM.framework/

另见Java 7 path on mountain lion