JDK在Mac上的路径是什么?

2022-08-31 04:41:53

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


答案 1

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

/usr/libexec/java_home

这是本机支持的方法,用于找出缺省 Java 安装的路径以及存在的所有备用路径。

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

一种更行人的方法,但可以帮助您专门跟踪命令解析到哪个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的Java,您将获得的设置。在这种情况下,上面的步骤2将为您提供

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

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


答案 2

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

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

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