Mac上JDK的路径是啥? [复制]

Posted

技术标签:

【中文标题】Mac上JDK的路径是啥? [复制]【英文标题】:What is path of JDK on Mac ? [duplicate]Mac上JDK的路径是什么? [复制] 【发布时间】:2013-08-11 06:22:54 【问题描述】:

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

【问题讨论】:

在这里找到它:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/ 您应该使用 /Library/Java/JavaVirtualMachines 以便 IDEA 正确获取源代码和 javadoc。在撰写本文时,正确的路径是 /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home -***.com/questions/470882/intellij-idea-setup-on-os-x 在 Mac Sierra 我有 /Library/Java/JavaVirtualMachines 有 jdk 和 System Preferences > Java 这两个有什么不同? 这个问题有一个非常好的 487 票答案,***.com/a/18144853/1099571,这是一个非常有趣的细节,在***.com/questions/6141180/… 的任何答案中都找不到。我认为那里有一个重复的标记,上面写着“这个问题已经有了答案”是一种误导;也许这个问题应该指向这里。或者,应该有人从这两个问题中做出最好的回答。 【参考方案1】:

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

/usr/libexec/java_home

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

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

一种更普通的方法,但可以帮助您具体跟踪命令 java 解析为哪个 Java 安装,如下所示:

    运行

    which java
    

    如果这给了你类似/usr/bin/java 的东西,这是一个指向真实位置的符号链接,运行

    ls -l `which java`
    

    在我的系统上,这个输出

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

    您可以从中读取 Java 主目录;

    如果usr/bin/java 指向另一个符号链接,则递归地应用相同的方法

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

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

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

并且那个特定的java 二进制文件是一个存根,它将通过咨询JAVA_HOME 环境变量来解析要调用的实际java 命令,如果它未设置或不指向Java 主目录,将回过头来打电话给java_home。在调试设置时记住这一点很重要。

【讨论】:

谢谢!第 2 步是一个很棒的提示,带有符号链接! 在这里找到它:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/ 我如何删除Apple的Java? 正是我想要的,谢谢!使用 java_home 作为关键字,我在这里找到了一个很好的概述:developer.apple.com/library/mac/documentation/Java/Conceptual/… 运行 /usr/libexec/java_home -version 1.8 在几秒钟内帮助了我!【参考方案2】:

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

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

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

【讨论】:

【参考方案3】:

看一下JDK是否在:

库/Java/JavaVirtualMachines/ 要么 /系统/库/Java/JavaVirtualMachines/

查看之前的 SO 帖子: JDK on OSX 10.7 Lion

【讨论】:

这就是我在 Eclipse 安装中添加 JDK 1.8 所需要的。谢谢! 这对我来说是 JDK 1.8 和 Mac OS X Yosemite 的正确道路。虽然我需要为 JAVA_HOME 设置的完整路径是 /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/【参考方案4】:

在我的 Mac 上:

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

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

【讨论】:

【参考方案5】:

/System/Library/Frameworks/JavaVM.framework/

另见Java 7 path on mountain lion

【讨论】:

是的,它显示 /usr/bin/java 并且似乎不是符号链接

以上是关于Mac上JDK的路径是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在mac电脑上快速复制文件或文件夹路径

即使JDK包含JRE,JRE的需求是啥? [复制]

在 Mac 计算机上更新 Java 版本的最佳方法是啥? [复制]

如何将 android 工具添加到我在 mac 上的路径中? [复制]

在部署任何 Web 应用程序时,JDK 在应用程序服务器中的作用是啥? [复制]

苹果osx怎么选择复制为啥直接复制到当前目录下了