该位置已从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主目录,它将退回到call
java_home。在调试安装程序时,请记住这一点,这一点很重要。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)