在 Windows 上切换 Java 版本可以通过编写一个批处理脚本来实现,这个脚本会根据指定的 Java 版本更新环境变量 JAVA_HOME
和 PATH
。以下是一个简单的批处理脚本示例,可以根据需要切换到不同的 Java 版本。
脚本内容 (switch_java.bat
)
@echo off
setlocal enabledelayedexpansion
:: 定义你安装的 Java 版本及路径
:: 在此处添加你需要切换的 Java 版本
set "JAVA8=C:\Program Files\Java\jdk1.8.0_291"
set "JAVA11=C:\Program Files\Java\jdk-11.0.12"
set "JAVA17=C:\Program Files\Java\jdk-17"
:: 提示用户选择 Java 版本
echo Select Java version:
echo [1] Java 8
echo [2] Java 11
echo [3] Java 17
set /p choice=Enter your choice (1-3):
:: 根据选择更新 JAVA_HOME 和 PATH
if "%choice%"=="1" (
set "JAVA_HOME=!JAVA8!"
echo Switching to Java 8
) else if "%choice%"=="2" (
set "JAVA_HOME=!JAVA11!"
echo Switching to Java 11
) else if "%choice%"=="3" (
set "JAVA_HOME=!JAVA17!"
echo Switching to Java 17
) else (
echo Invalid choice. Exiting...
exit /b
)
:: 更新系统 PATH
setx JAVA_HOME "%JAVA_HOME%" /m
set PATH=%JAVA_HOME%\bin;%PATH%
setx PATH "%PATH%" /m
:: 显示当前 Java 版本
java -version
pause
使用方法
- 将上面的脚本保存为
switch_java.bat
。 - 编辑脚本中的路径
JAVA8
,JAVA11
, 和JAVA17
为你安装的 Java 版本的实际路径。 - 运行脚本并选择你要切换的 Java 版本(1、2 或 3)。
- 脚本会自动更新
JAVA_HOME
和PATH
,并显示当前的 Java 版本。
这个脚本利用 setx
命令永久修改环境变量,并立即在当前会话中生效。可以根据实际的 Java 版本路径做适当调整。