本人常用jdk版本为1.8 以及 17。当电脑上有多个jdk版本时,一键切换则非常有必要。
jdk各个版本的下载:https://www.oracle.com/technetwork/java/javase/archive-139210.html
注意:
- 复制保存编码格式为 ANSI,后缀bat
- 变量 JAVA_PATH 中 javapath 文件夹可能需要手动创建
- 各版本的 jdk 路径需要手动替换
- 右键管理员运行
@echo off
rem 切换Java jdk版本
echo 请以管理员来进行切换
java -version
:menu
echo =============================================
echo 请选择要切换的jdk版本
echo 1:Java jdk 17
echo 2:Java jdk 1.8
echo 3: 取消
echo =============================================
set /p ch=请选择:
if "%ch%"=="1" goto java17
if "%ch%"=="2" goto java1.8
if "%ch%"=="3" goto exit
goto menu
:java17
set JAVA_HOME=D:\programs\jdk-17.0.5
@REM set JRE_HOME=C:\Program Files\Java\jdk-17.0.2
set JAVA_VERSION=17
goto exec
:java1.8
set JAVA_HOME=D:\Environment\Java\jdk1.8.0_331
@REM set JRE_HOME=C:\Program Files\Java\jre1.8.0_131
set JAVA_VERSION=1.8
goto exec
:exec
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit" /v CurrentVersion /t REG_SZ /f /d "%JAVA_VERSION%"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v CurrentVersion /t REG_SZ /f /d "%JAVA_VERSION%"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t REG_SZ /f /d "%JAVA_HOME%"
@REM reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t REG_SZ /f /d "%JRE_HOME%"
del /f "C:\Windows\System32\java.exe"
copy /Y "%JAVA_HOME%\bin\java.exe" "C:\Windows\System32\java.exe"
del /f "C:\Windows\System32\javaw.exe"
copy /Y "%JAVA_HOME%\bin\javaw.exe" "C:\Windows\System32\javaw.exe"
del /f "C:\Windows\System32\javaws.exe"
copy /Y "%JAVA_HOME%\bin\javaws.exe" "C:\Windows\System32\javaws.exe"
set JAVA_PATH=C:\ProgramData\Oracle\Java\javapath
del /f "%JAVA_PATH%\java.exe"
mklink "%JAVA_PATH%\java.exe" "%JAVA_HOME%\bin\java.exe"
del /f "%JAVA_PATH%\javaw.exe"
mklink "%JAVA_PATH%\javaw.exe" "%JAVA_HOME%\bin\javaw.exe"
del /f "%JAVA_PATH%\javaws.exe"
mklink "%JAVA_PATH%\javaws.exe" "%JAVA_HOME%\bin\javaws.exe"
echo 已切换到JDK %JAVA_VERSION%
pause
goto exit
:exit
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 chgocn@gmail.com