【问题标题】: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 -stackoverflow.com/questions/470882/intellij-idea-setup-on-os-x
  • 在 Mac Sierra 我有 /Library/Java/JavaVirtualMachines 有 jdk 和 System Preferences > Java 这两个有什么不同?
  • 这个问题有一个非常好的 487 票答案,stackoverflow.com/a/18144853/1099571,这是一个非常有趣的细节,在stackoverflow.com/questions/6141180/… 的任何答案中都找不到。我认为那里有一个重复的标记,上面写着“这个问题已经有了答案”是一种误导;也许这个问题应该指向这里。或者,应该有人从这两个问题中做出最好的回答。

标签: macos java


【解决方案1】:

该位置已从 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>
    

一个重要的变化是,如果您先安装 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 并且似乎不是符号链接
      猜你喜欢
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2014-07-16
      • 2020-02-05
      • 1970-01-01
      • 2013-11-08
      相关资源
      最近更新 更多