Windows系统部署多套JDK,通过脚本进行切换

推荐使用选择脚本

1. 官网下载jdk

下载地址:https://www.oracle.com/cn/java/technologies/downloads/

Tips: 最新版本的Jre已集成到Jdk安装程序中,不需要单独进行Jre安装。
安装过程中设置系统环境变量过程没有变化

2. 设置切换

① 可以手动切换

将JAVA_HOME的值改成对应的版本。
image

② 执行脚本切换

 不是管理员账号的话,需要进入注册表增加修改环境变量的权限。
:: 如果当前的环境是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文件,可删除。

image

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


参考链接:
windows安装两个或多个JDK,并实现自由切换
windows用脚本进行jdk环境设置

posted @ 2025-04-14 15:17  云守太极  阅读(108)  评论(1)    收藏  举报