一键切换jdk

发布时间 2023-10-11 16:59:18作者: 临渊不羡渔

一键切换jdk

原理为脚本修改环境变量

jdk8.cmd

@echo off
::获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

::设置显示模式
mode con cols=85 lines=25 & color 3f
title SWJDK批处理脚本

:menu
echo 当前的JDK版本:
java -version
echo.
setx "JAVA_HOME" "D:\jdk\jdk1.8.0_342" /m
echo 提示: JDK版本切换成功,"JAVA_HOME" 已修改为 D:\jdk\jdk1.8.0_342。
echo 当前的JDK版本:
java -version
choice /t 3 /d y /n >nul
echo 延迟3秒自动退出:
:exit

jdk17.cmd

@echo off
::获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

::设置显示模式
mode con cols=85 lines=25 & color 3f
title SWJDK批处理脚本

:menu
echo 当前的JDK版本:
java -version
echo.
setx "JAVA_HOME" "D:\jdk\jdk17.0.5_8" /m
echo 提示: JDK版本切换成功,"JAVA_HOME" 已修改为 D:\jdk\jdk17.0.5_8。
echo 当前的JDK版本:
java -version
choice /t 3 /d y /n >nul
echo 延迟3秒自动退出:
:exit

switch_jdk.cmd

@echo off
::获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

::设置显示模式
mode con cols=85 lines=25 & color 3f
title SWJDK批处理脚本

:menu
echo 当前的JDK版本:
java -version
echo.
echo =============================================
echo ################ JDK版本列表 ################
echo.
echo         【8】切换至JDK8
echo         【11】切换至JDK11
echo         【17】切换至JDK17
echo         【21】切换至JDK21
echo         【0】取消
echo.
echo =============================================
echo.

set /P vb=请选择要切换的JDK版本:
IF "%vb%" EQU "8" (
    setx "JAVA_HOME" "C:\Users\jdw\.jdks\corretto-1.8.0_372" /m
    echo 提示: JDK版本切换成功,"JAVA_HOME" 已修改为 D:\jdk\jdk1.8.0_342。
    echo.
) ELSE IF "%vb%" EQU "11" (
    setx "JAVA_HOME" "D:\jdk\jdk-11.0.2" /m
    echo 提示: JDK版本切换成功,"JAVA_HOME" 已修改为 D:\jdk\jdk-11.0.2。
    echo.
) ELSE IF "%vb%" EQU "17" (
    setx "JAVA_HOME" "D:\jdk\jdk17.0.5_8" /m
    echo 提示: JDK版本切换成功,"JAVA_HOME" 已修改为 D:\jdk\jdk17.0.5_8。
    echo.
) ELSE IF "%vb%" EQU "21" (
    setx "JAVA_HOME" "D:\jdk\jdk21.0.0_35" /m
    echo 提示: JDK版本切换成功,"JAVA_HOME" 已修改为 D:\jdk\jdk21.0.0_35。
    echo.
) ELSE IF "%vb%" EQU "0" (
       goto exit
) ELSE (
    echo.
    echo !!!版本选择错误,请重新选择. . .
    echo.
    goto menu
)

echo 请按任意键退出. . . & pause > nul

:exit