通过设置JAVA8_HOME、JAVA17_HOME等固定变量指向各JDK路径,再用JAVA_HOME动态引用其中某一个,并在PATH顶部配置%JAVA_HOME%\bin,即可通过修改JAVA_HOME值一键切换Java版本。

核心思路是:用多个固定变量存各版本路径,再用一个动态变量(JAVA_HOME)指向其中某一个,PATH 通过 %JAVA_HOME%\bin 动态引用——改一次 JAVA_HOME,所有 Java 命令就自动切换。
1. 先装好各版本,放独立无空格路径
每个 JDK 单独安装,路径不能含中文、空格或特殊符号。推荐统一放在短路径下,例如:
- C:\jdk\jdk8
- C:\jdk\jdk17
- C:\jdk\jdk25
安装时手动指定这些路径,避免默认装进 C:\Program Files\Java\(空格易出错)。
2. 配置专用环境变量(只设一次,永不改动)
进入「系统属性 → 高级 → 环境变量 → 系统变量 → 新建」,为每个版本添加专属变量:
-
JAVA8_HOME =
C:\jdk\jdk8 -
JAVA17_HOME =
C:\jdk\jdk17 -
JAVA25_HOME =
C:\jdk\jdk25
这些变量名清晰、不冲突,后续脚本或手动切换都靠它们。
3. 设置主切换变量 JAVA_HOME 和 PATH
在系统变量中:
- 新建或修改 JAVA_HOME,值设为:
%JAVA8_HOME%(初始默认用 JDK 8) - 编辑 Path 变量,在顶部新增一行:
%JAVA_HOME%\bin - 把这一行拖到 Path 列表最上方(关键!确保优先调用)
- 删掉 Path 中所有写死的 JDK 路径(如
C:\jdk\jdk8\bin),只留这一条动态引用
4. 切换只需改 JAVA_HOME 的值
每次想换版本,只需两步:
- 打开「环境变量」界面,把 JAVA_HOME 的值从
%JAVA8_HOME%改成%JAVA17_HOME%或%JAVA25_HOME% - 关闭所有已打开的 CMD/PowerShell,重新打开一个新窗口
然后运行:
java -version
javac -version
输出即为当前生效版本。











