1. 程式人生 > >macos jdk 版本切換

macos jdk 版本切換

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 l='ls -lG'alias la='ls -laG'alias ll='ls -laG'alias vi='vim'
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版本了。
MYPC001:~ jinxing$ jdk8
MYPC001:~ 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)
MYPC001:~ jinxing$ jdk6
MYPC001:~ 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) CSDN什麼時候能用markdown啊。。。。。