一、安装不同版本的JDK
二、配置环境变量(多版本JDK)
1. 新建版本专用环境变量(用于切换)
- 操作位置:
系统变量
>新建
- 变量名:
JAVA_HOME_1.8
变量值:JDK 8安装路径 - 变量名:
JAVA11_HOME_11
变量值:JDK 11安装路径 (其他版本如 JDK 17 同理,命名规则:JAVA_HOME_<版本>
) 注:路径中禁止包含中文或空格 。
- 变量名:
2. 设置主切换变量 JAVA_HOME
- 变量名:
JAVA_HOME
变量值:%JAVA_HOME_17%
(默认指向JDK 17,通过修改此值切换版本)
此变量是动态枢纽,修改其值即可切换JDK版本。
3. 配置 CLASSPATH
(可选但建议)
- 变量名:
CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
-
- 注意:开头的
.
表示当前目录,不可省略
4. 修改 Path
变量
- 编辑
Path
变量,新增两条(确保在顶部避免冲突):%JAVA_HOME%\bin %JAVA_HOME%\jre\bin
- 关键点:
- 使用
%JAVA_HOME%
引用路径,而非直接写死路径 - Win10需分两行添加,避免自动添加引号导致失效
- 使用
三、多版本切换与验证
1. 初始验证
- 打开新CMD窗口(环境变量修改后必须重启CMD)
java -version # 应显示默认版本(如JDK 8)
2. 切换版本(如切到JDK 11)
- 修改主变量
JAVA_HOME
的值:- 原值:
%JAVA_HOME_8%
→ 改为:%JAVA_HOME_11%
- 原值:
- 重新打开CMD,执行:
java -version # 应显示默认版本(如JDK 11)
3. 验证其他命令(确保全面生效)
javac -version # 检查编译器版本 java # 查看JVM基础命令是否正常
若仅 java
生效但 javac
失败,需检查 Path
是否包含 %JAVA_HOME%\bin
且无多余引号
❗ 常见问题解决
-
切换后版本未更新:
- 确认
JAVA_HOME
值已修改,并重启CMD
- 删除系统冲突路径(如
C:\Windows\System32\java.exe
)
- 确认
-
javac
命令无效:- 检查
Path
中%JAVA_HOME%\bin
是否被其他JDK路径覆盖。 - 确保变量值无多余分号或引号(Win10易自动添加)
- 检查
-
环境变量优先级冲突:
- 系统变量 > 用户变量,确保版本变量在系统变量中配置
通过此方案,只需修改
JAVA_HOME
的指向即可实现多版本无缝切换,适用于开发/测试多版本兼容性场景。若需更高效切换,可参考批处理脚本自动化方案