Windows系统部署多套JDK,通过脚本进行切换
1. 官网下载jdk
下载地址:https://www.oracle.com/cn/java/technologies/downloads/
Tips: 最新版本的Jre已集成到Jdk安装程序中,不需要单独进行Jre安装。
安装过程中设置系统环境变量过程没有变化
2. 设置切换
① 可以手动切换
将JAVA_HOME的值改成对应的版本。

② 执行脚本切换
不是管理员账号的话,需要进入注册表增加修改环境变量的权限。
:: 如果当前的环境是JDK8,则把环境改为JDK21,否则把环境改为JDK8
echo "current jdk version: " %JAVA_HOME%
IF "%JAVA_HOME%"=="%JAVA8_HOME%" (
setx /M JAVA_HOME "%JAVA21_HOME%"
ECHO "已经装JAVA_HOME设置成了:%JAVA21_HOME%"
) ELSE (
setx /M JAVA_HOME "%JAVA8_HOME%"
ECHO "已经装JAVA_HOME设置成了:%JAVA8_HOME%"
)
:: 弹窗延时
timeout /t 6
③ 选择脚本切换
不同版本参考上述图片,在系统变量里设置好环境变量。该jdkVersionSwitch.bat脚本可以在命令行页面输入对应选项,切换不同脚本。同时注意脚本编码为ANSI,否则窗口中文会乱码
:: 如果当前的环境是JDK8,则把环境改为JDK21,否则把环境改为JDK8
@echo off
echo "current jdk version: " %JAVA_HOME%
:choice
set /P c=输入1选择JDK8,输入2选择JDK17,输入3选择JDK21 [1,2,3]?
if /I "%c%"=="1" goto jdk8
if /I "%c%"=="2" goto jdk17
if /I "%c%"=="3" goto jdk21
echo 无效的选择,请重试。
goto choice
:jdk8
setx /M JAVA_HOME "%JAVA8_HOME%"
ECHO "已经将JAVA_HOME设置成了:%JAVA8_HOME%"
goto end
:jdk17
setx /M JAVA_HOME "%JAVA17_HOME%"
ECHO "已经将JAVA_HOME设置成了:%JAVA17_HOME%"
goto end
:jdk21
setx /M JAVA_HOME "%JAVA21_HOME%"
ECHO "已经将JAVA_HOME设置成了:%JAVA21_HOME%"
goto end
:end
pause
3. 切换不成功的原因
① jdk8/21在图示目录各创建一个java文件,可删除。

② path中将JAVA_HOME的配置放在java其他配置之上,或者将c盘oracle下的javapath路径配置删除。


浙公网安备 33010602011771号