1、背景
在進(jìn)行 Java 開發(fā)的過(guò)程中,我們可能需要使用不同版本的 JDK。例如:一些舊的 Java 應(yīng)用程序只能在舊版本的 JDK 上運(yùn)行,而一些新的 Java 應(yīng)用程序需要較新的 JDK 才能運(yùn)行。
在 MAC 系統(tǒng)上,如何安裝多個(gè)版本的 JDK 并配置環(huán)境變量,并且快速切換需要的版本呢?本文將以 JDK1.8 和 JDK11為例進(jìn)行演示。
2、安裝多版本 JDK
打開終端窗口,執(zhí)行如下命令查看我們安裝的 JDK 版本
# 訪問(wèn) JDK 安裝目錄
cd /Library/Java/JavaVirtualMachines
# 查看安裝的 JDK 版本
ls -al
查詢信息如下:
jeffrey@MacBook-Pro ~ % cd /Library/Java/JavaVirtualMachines
jeffrey@MacBook-Pro JavaVirtualMachines % ls -al
total 0
drwxr-xr-x 5 root wheel 160 2 17 15:43 .
drwxr-xr-x 4 root wheel 128 8 16 2022 ..
drwxr-xr-x 3 root wheel 96 2 17 15:43 jdk-11.0.16.jdk
drwxr-xr-x 3 root wheel 96 8 16 2022 jdk1.8.0_192.jdk
drwxr-xr-x 3 root wheel 96 8 19 2022 jdk1.8.0_281.jdk
可以看到我到電腦上一共有三個(gè) JDK 版本,JDK 11 和兩個(gè) JDK1.8
3、環(huán)境變量配置
3.1、打開環(huán)境變量文件
在終端窗口,執(zhí)行如下命令:
# 進(jìn)入當(dāng)前用戶的 home 目錄
cd /Users/修改為自己 MAC 電腦用戶名稱
# 輸入
cd ~
# 打開環(huán)境變量配置文件
open .bash_profile
# 報(bào)錯(cuò):.bash_profile does not exist.
# 第一次配置環(huán)境變量,先創(chuàng)建文件
touch .bash_profile
# 再次執(zhí)行打開環(huán)境變量配置文件
open .bash_profile
3.2、配置 JDK 多版本環(huán)境變量
# 復(fù)制如下內(nèi)容,JAVA_HOME 替換為自己目錄
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.16.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk11='export JAVA_HOME=$JAVA_11_HOME'
3.3、檢查環(huán)境變量
# 配置文件立即生效
source .bash_profile
# 查看 JAVA_HOME 目錄
echo $JAVA_HOME
# 查看 JDK 版本信息
java -version
4、JDK 版本切換
我們定義了兩個(gè)別名:jdk8 和 jdk11,其中默認(rèn)配置為 jdk8。
要切換到 jdk11,請(qǐng)?jiān)诮K端中輸入命令 jdk11,如下:
jeffrey@MacBook-Pro ~ % jdk11
jeffrey@MacBook-Pro ~ % java -version
java version "11.0.16" 2022-07-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode)
要切換回 jdk8,請(qǐng)?jiān)诮K端中輸入命令 jdk8,如下:
jeffrey@MacBook-Pro ~ % jdk8
jeffrey@MacBook-Pro ~ % java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)