1、背景
在进行 Java 开发的过程中,我们可能需要使用不同版本的 JDK。例如:一些旧的 Java 应用程序只能在旧版本的 JDK 上运行,而一些新的 Java 应用程序需要较新的 JDK 才能运行。
在 MAC 系统上,如何安装多个版本的 JDK 并配置环境变量,并且快速切换需要的版本呢?本文将以 JDK1.8 和 JDK11为例进行演示。
2、安装多版本 JDK
打开终端窗口,执行如下命令查看我们安装的 JDK 版本
# 访问 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
可以看到我到电脑上一共有三个 JDK 版本,JDK 11 和两个 JDK1.8
3、环境变量配置
3.1、打开环境变量文件
在终端窗口,执行如下命令:
# 进入当前用户的 home 目录
cd /Users/修改为自己 MAC 电脑用户名称
# 输入
cd ~
# 打开环境变量配置文件
open .bash_profile
# 报错:.bash_profile does not exist.
# 第一次配置环境变量,先创建文件
touch .bash_profile
# 再次执行打开环境变量配置文件
open .bash_profile
3.2、配置 JDK 多版本环境变量
# 复制如下内容,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、检查环境变量
# 配置文件立即生效
source .bash_profile
# 查看 JAVA_HOME 目录
echo $JAVA_HOME
# 查看 JDK 版本信息
java -version
4、JDK 版本切换
我们定义了两个别名:jdk8 和 jdk11,其中默认配置为 jdk8。
要切换到 jdk11,请在终端中输入命令 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,请在终端中输入命令 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)