解决思路
通过动态修改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动态切换类似