解决思路
通过动态修改JDK环境变量中的JAVA_HOME 将值改成相应的JDK安装目录,来达到在同一电脑中安装不同版本jdk的效果。
windows系统
安装的jdk目录
右键→属性→高级系统设置→高级→环境变量→系统变量。
- 新建4个
系统变
量变量值,变量名分别为:
JAVA_HOME %JAVA17_HOME% JAVA8_HOME E:\Java\jdk1.8.0_271 JAVA17_HOME E:\Java\jdk-17.0.5 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
- 编辑
PATH系统变量
,新增“%JAVA_HOME%\bin
”
切换版本
-
做完上述环境变量配置,保存退出后,打开cmd验证
jdk
版本
-
若要使用 JDK8,只需修改变量
JAVA_HOME
的值为%JAVA8_HOME%
即可
Mac系统
打开终端窗口,执行如下命令查看我们安装的 JDK 版本
#访问 JDK 安装目录
cd /Library/Java/JavaVirtualMachines
查看安装的 JDK 版本
ls -al
查询信息如下:
woniu@MacBook-Pro ~ % cd /Library/Java/JavaVirtualMachines
woniu@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
环境变量配置
#打开环境变量配置文件
vim ~/.bash_profile
配置 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:.
#定义了两个指令:jdk8 和 jdk11,其中默认配置为 jdk8。
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk11='export JAVA_HOME=$JAVA_11_HOME'
检查环境变量
# 配置文件立即生效
source .bash_profile
# 查看 JAVA_HOME 目录
echo $JAVA_HOME
# 查看 JDK 版本信息
java -version
JDK 版本切换
-
定义了两个指令:jdk8 和 jdk11,其中默认配置为 jdk8
-
要切换到 jdk11,请在终端中输入命令 jdk11,如下:
woniu@MacBook-Pro ~ % jdk11 woniu@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,如下:
woniu@MacBook-Pro ~ % jdk8 woniu@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)
- linux动态切换类似