Mac OSX 中JDK设置问题

本文详细介绍了在Mac OS X EI Capitan 10.11.6上如何配置JAVA_HOME,包括全局指定应用程序的JDK/JRE、Eclipse的JVM设置以及使用VisualVM。内容涵盖Apple官方指南、删除与启用不同版本的Java Plugin、修改Eclipse的Info.plist文件以及VisualVM的配置。同时,文章还讲解了查看JDK路径和在命令行中切换Java版本的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OSX 中JAVA_HOME设定

一、软件环境

OSX EI Capitan 10.11.6

二、指定Java运行环境

1. Global 指定应用程序的JDK/JRE

参考文章:https://support.apple.com/en-us/HT202643
在苹果官方支持中,弄了好久终于搞明白了,Application启动的时候是加载的那个Java了,位置如下:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

① 删除不想用的Java Plugin

sudo mkdir -p /Library/Internet\ Plug-Ins/disabled 
sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled
只是移动到禁用目录,并没有真正删除,随时可以恢复。将新安的备份到另一个目录,或者重命名。恢复命令:
sudo mv /Library/Internet\ Plug-Ins/disabled/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins

② 重新设定Java Plugin
下载Oracle官网的JDK7或者JDK8,安装之后,就会在重新生成一个
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
注意:如果已经安装了8,没有执行①的话,是不会覆盖掉JDK8的

③ 启用JDK6.

sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 

# 重新启动Java SE 6 Web Start,输入下面的命令
sudo ln -sf /System/Library/Frameworks/JavaVM.framework/Commands/javaws /usr/bin/javaws

注:OSX EI Capitan 10.11.6,已经没有了。

2. Eclipse指定vm

在windows下和许多教程下,都是说改/Applications/Eclipse.app/Contents/Eclipse/eclipse.ini文件中,加入 -vm参数,然并卵,根本没起作用,不是插入到最后,还有可能报错。

在OSX下,需要修改/Applications/Eclipse.app/Contents/Info.list文件,打开文件你会看到
<key>Eclipse</key>
<array>
<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
or add a VM found via $/usr/libexec/java_home -V
<string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java</string>
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home/bin/java</string>
-->
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java</string>
<string>-keyring</string>
<string>~/.eclipse_keyring</string>
<string>-showlocation</string>
</array>

    看注释部分,写的很清楚,如何配置-vm参数,这样Eclipse就可以按照自己指定的jdk运行了,而忽略系统默认的jdk。

3. VisualVM

同样是“显示包内容”,找到文件:
/Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf,
搜索visualvm_jdkhome,放开注释,路径根据命令显示结果设定

visualvm_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home"

三、查看JDK路径

查看所有版本(大V):

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_101, x86_64:  "Java SE 8"     /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7"     /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

查看指定版本(小V):

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

四、指定命令行中的jdk版本

$ vim .bash_profile

#指定默认版本
export JAVA_HOME=`/usr/libexec/java_home`
export JAVA_HOME=$(/usr/libexec/java_home)
#指定自定义版本
export JAVA_HOME=`/usr/libexec/java_home -d 64 -v 1.7`
export JAVA_HOME=$(/usr/libexec/java_home -d 64 -v 1.7)
setjdk() {
  export JAVA_HOME=$(/usr/libexec/java_home -v $1)
}

setjdk()可以不加,加上之后,修改更方面,在命令行输入,可以很方便的切换Java版本

setjdk 1.8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值