什么是Mac上的JDK的path?

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

从Java 6(由Apple提供)到Java 7及以后(由Oracle提供)的位置已经改变。 找出这个最好的通用方法是运行

/usr/libexec/java_home 

这是本机支持的方式,以找出默认的Java安装path以及所有替代的path。

如果您查看其帮助文本( java_home -h ),您将看到可以使用此命令在OS X( java_home --exec ... )上可靠地启动Java程序,并能够显式指定期望的Java版本和架构,甚至要求用户安装它,如果丢失。

一个更行人的方法,但是可以帮助您具体跟踪javaparsing到的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指向另一个符号链接,则recursion地应用相同的方法

     ls -l <whatever the /usr/bin/java symlink points to> 

如果从安装Apple的Java开始安装Oracle,然后再安装Oracle,那么一个重要的变化就是您所获得的设置。 在这种情况下,上面的第2步会给你

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

并且该特定的java二进制文件是一个存根,它将通过查询JAVA_HOME环境variables来parsing实际的java命令来调用,如果没有设置或不指向Java主目录,将回退到调用java_home 。 debugging您的设置时请牢记这一点很重要。

你使用的是哪个Mac版本? 尝试这些path

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

此链接可能会有所帮助 – 如何在Mac OS X上设置$ JAVA_HOME环境variables

看看JDK是否在:

Library / Java / JavaVirtualMachines / Or / System / Library / Java / JavaVirtualMachines /

在OSX 10.7 Lion上检查此前的SOpost: JDK

在我的Mac上:

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

顺便说一句,你尝试过which java

/System/Library/Frameworks/JavaVM.framework/

另请参阅山狮上的Java 7path