「Mac 管理多版本JDK」
一、需求
偶然發(fā)現(xiàn)目前的在使用的Java JDK還是是1.8版本的,實(shí)際開(kāi)發(fā)過(guò)程中時(shí)常會(huì)遇到使用高版本的JDK,如JDK11,最好的方式是本地管理多個(gè)版本的JDK實(shí)現(xiàn)自主切換。
- 本機(jī)系統(tǒng)
macOS Monterey 12.2.1
- 本地JDK版本
1.8.0_271 (x86_64)
11.0.14 (x86_64)
二、配置
1.下載JDK11
ORACLE官網(wǎng)下載 JDK11,現(xiàn)在下載需要注冊(cè)賬號(hào),填一下基本信息就OK,可選的有安裝包的形式 .dmg和tar形式,為了方便直接下載的安裝包 .dmg.

下載后直接用安裝包安裝。檢查是否安裝成功執(zhí)行代碼:
/usr/libexec/java_home -V
會(huì)顯示本地所有已經(jīng)安裝的Java JDK版本信息,如下圖:

此時(shí)JDK 11已經(jīng)安裝成功,但是本地默認(rèn)的使用環(huán)境還是JDK 1.8,查看本地Java版本:
java -version

2.配置默認(rèn)JDK版本
打開(kāi) .zshrc配置文件,修改默認(rèn)的JAVA JDK版本
open -e ~/.zshrc
為了方便切換,要給JDK設(shè)置對(duì)應(yīng)的別名,環(huán)境變量的配置等信息:
#java config
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home"
export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.14.jdk/Contents/Home"
#默認(rèn)java11
export JAVA_HOME=$JAVA_11_HOME
#config alias
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
export CLASS_PATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
關(guān)于Java JDK配置的部分,這里默認(rèn)的版本是jdk11直接拷貝到.zshrc即可。使配置文件立即生效執(zhí)行:
source ~/.zshrc
注意,可能會(huì)遇到如下錯(cuò)誤:
/Users/sai/.zshrc:2: bad assignment
這是因?yàn)椤?strong>=”兩側(cè)存在空格,這是不允許的如JAVA_11_HOME= "/Library/..."正確的形式為JAVA_11_HOME="/Library/..."。
重新打開(kāi)終端查看默認(rèn)JDK版本:
java -version

可以看見(jiàn),默認(rèn)的已經(jīng)變?yōu)?strong>JDK11了,切換的時(shí)候也很方便,如果要使用JDK 1.8版本則執(zhí)行jdk8,需要使用JDK11則執(zhí)行 jdk11,這里分別對(duì)應(yīng) .zshrc中的別名alias,以后需要增加新的JDK,操作也是一樣的。
