核心是分装+引用+切换:一、各版本独立安装至无中文路径;二、新建JAVA_8_HOME等专用变量,并用%引用方式设JAVA_HOME;三、Path顶部添加%JAVA_HOME%\bin并删除Oracle注入的javapath路径;四、切换只需修改JAVA_HOME值并重启CMD验证。

在一台电脑上同时安装多个 JDK 版本并自由切换,核心是“分装 + 引用 + 切换”。不靠卸载重装,也不依赖单一全局路径,而是通过规范的目录管理与环境变量间接引用实现。下面分四步说清楚。
一、安装多个 JDK 到独立无中文路径
每个版本必须安装(或解压)到单独文件夹,路径不能含空格和中文,推荐放在非系统盘统一目录下,例如:
- D:\Java\jdk-8
- D:\Java\jdk-11
- D:\Java\jdk-17
- D:\Java\jdk-21
安装时注意:如果是 .exe 安装包,在向导中手动修改目标路径;如果是 .zip 包,解压后直接放入对应文件夹,确保根目录下有 bin、lib 等标准子目录(不要多套一层父文件夹)。
二、配置专用环境变量(关键一步)
打开「系统属性 → 高级 → 环境变量」,在系统变量区域操作:
立即学习“Java免费学习笔记(深入)”;
- 新建变量:JAVA_8_HOME,值为 D:\Java\jdk-8
- 新建变量:JAVA_11_HOME,值为 D:\Java\jdk-11
- 新建变量:JAVA_17_HOME,值为 D:\Java\jdk-17
- 新建或编辑变量:JAVA_HOME,值设为 %JAVA_8_HOME%(默认用 JDK 8)
⚠️ 注意:JAVA_HOME 必须用 %xxx% 引用方式,不能写死路径。这是后续切换的基础。
三、更新 Path 并清理冲突项
编辑系统变量 Path,确保顶部有且仅有这两行:
- %JAVA_HOME%\bin
- %JAVA_HOME%\jre\bin(仅当 JDK 自带 jre 目录时添加;JDK 11+ 通常无 jre 目录,可省略)
务必删除以下两个自动注入的干扰路径(它们会导致版本错乱):
- C:\Program Files (x86)\Common Files\Oracle\Java\javapath
- C:\Program Files\Common Files\Oracle\Java\javapath
四、切换版本与验证
每次切换只需改 JAVA_HOME 的值,例如:
- 想用 JDK 17 → 把 JAVA_HOME 改成 %JAVA_17_HOME%
- 想用 JDK 21 → 新建 JAVA_21_HOME 变量,再把 JAVA_HOME 改为 %JAVA_21_HOME%
改完后必须新开一个命令行窗口,执行:
java -version<br>javac -version
两行输出版本号一致,才算真正生效。如果只 java 生效而 javac 报错,大概率是 Path 中 %JAVA_HOME%\bin 没加对,或被其他 JDK 路径覆盖了。


















