MAC上是用多个JDK,版本切换。

在macOS Sierra 10.12.6上,由于工作需要同时使用JDK6和JDK1.8,作者分享了一种方便的版本切换方法。JDK的安装位置分别为苹果提供的/System/Library/Java/JavaVirtualMachines和Oracle提供的/Library/Java/JavaVirtualMachines。通过java_home命令可以获取路径,并利用alias创建别名实现版本间的快速切换。

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

macOS用的是 macOS Sierra 10.12.6.
因为工作上需求需要用到jdk6, 而我自己的一些工具还需要jdk1.8。而且jdk1.6还分oracle和苹果的版本。 安装后的路径都不一样,本来要换软连接的方式来做的,但是每次都很麻烦, 就谷歌了一下, 找到一个比较不错的方法。

jdk安装完后的路径。
苹果提供的在/System/Library/Java/JavaVirtualMachines
oracle提供的/Library/Java/JavaVirtualMachines

无论如何,不管怎样, 这些路径都可以通过一个java_home的命令行来取得。

MYPC001:~ jinxing$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.8.0_151, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

如果用小v可以指定版本来取得路径。

MYPC001:~ jinxing$ /usr/libexec/java_home -v 1.6
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
MYPC001:~ jinxing$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

既然能取到路径, 就直接赋到java_home上就可以了。

我是加到alias上做了一个别名。 如下。

MYPC001:~ jinxing$ alias
alias jdk6='export JAVA_HOME=`/usr/libexec/java_home -v 1.6`'
alias jdk8='export JAVA_HOME=`/usr/libexec/java_home -v 1.8`'

这样可以通过jdk6 jdk8来切换java版本了。

MYPC0001:~ jinxing$ jdk6
MYPC0001:~ jinxing$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)
MYPC0001:~ jinxing$
MYPC0001:~ jinxing$ jdk8
MYPC0001:~ jinxing$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值