Win11切换JDK版本批处理脚本
维护的老项目jdk1.8,新项目开发采用jdk21,所以寻找类似nvm的软件,都不太满意,最后还是决定采用写一个脚本算了,先不折腾了。
1、创建switch_jdk.bat文件
2、把如下内容复制进行
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion:: 请求管理员权限
fltmc >nul 2>&1 || (echo 正在请求管理员权限...powershell -Command "Start-Process '%~s0' -Verb RunAs"exit /b
):: JDK安装目录
set "JDK_DIR=C:\Program Files\Java":: 显示菜单
echo 可用的JDK版本:
echo 1. jdk1.8.0_301
echo 2. jdk-17.0.12
echo 3. jdk-21.0.7
echo 4. jdk-22.0.2
echo.:: 获取用户选择
set /p choice="请选择JDK版本 (输入数字 1-4): ":: 根据选择设置路径
if "%choice%"=="1" set "NEW_HOME=%JDK_DIR%\jdk1.8.0_301"
if "%choice%"=="2" set "NEW_HOME=%JDK_DIR%\jdk-17.0.12"
if "%choice%"=="3" set "NEW_HOME=%JDK_DIR%\jdk-21.0.7"
if "%choice%"=="4" set "NEW_HOME=%JDK_DIR%\jdk-22.0.2":: 检查是否有效选择
if not defined NEW_HOME (echo 无效选择pauseexit /b 1
):: 检查JDK目录是否存在
if not exist "%NEW_HOME%" (echo 错误: JDK目录不存在echo %NEW_HOME%pauseexit /b 1
):: 更新系统JAVA_HOME变量
setx JAVA_HOME "%NEW_HOME%" /M
echo 已永久更新系统变量 JAVA_HOME = %NEW_HOME%echo.
echo JDK已成功切换到版本 %choice%
echo 注意: 请关闭并重新打开终端以使更改完全生效
echo 当前会话可能仍显示旧版本信息
pause
注意:需要把软件目录改成实际软件目录
3、管理员权限运行脚本
结果:
1、jdk切换成功;
2、CMD输出中文显示正常
前提:
1、Win11环境变量需要建好JAVA_HOME环境变量(定义变量)
2、Path中需要加入%JAVA_HOME%(使用变量)
定义变量
JAVA_HOME使用变量
%JAVA_HOME%