我只在工作中使用 Mac,我需要将 JAVA_HOME 设置为 JDK 的正确路径。我下载了JDK,安装了它,现在我在任何地方都找不到它。我在网上寻找解决方案,但没有文件夹 Libraries/Java。
5 回答
该位置已从 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
通过咨询环境变量来解析要调用的实际命令JAVA_HOME
,如果它未设置或不指向 Java 主目录,则将回退到调用java_home
. 在调试设置时记住这一点很重要。
您使用的是哪个 Mac 版本?试试这些路径
/System/Library/Frameworks/JavaVM.framework/ OR
/usr/libexec/java_home
此链接可能会有所帮助 -如何在 Mac OS X 上设置 $JAVA_HOME 环境变量
看看JDK是否在:
库/Java/JavaVirtualMachines/ 或 /System/Library/Java/JavaVirtualMachines/
检查此较早的 SO 帖子: OSX 10.7 Lion 上的 JDK
在我的 Mac 上:
/System/Library/Frameworks/JavaVM.framework/Home/
顺便说一句,你试过which java
吗?
/System/Library/Frameworks/JavaVM.framework/
另请参阅山狮上的 Java 7 路径