在 Windows 环境下同时安装和配置多个版本的 JDK(例如经典的 JDK 8 和较新的 JDK 17/21)是开发者的常见需求。为了让你能清晰、零报错地完成配置,本教程将采用最标准、最稳定的"变量引用法"来详细讲解。
下载与安装多个版本的 JDK
1、获取安装包 :前往 Oracle 官网或 Adoptium (Eclipse Temurin) 等可信源,下载你需要的 JDK 版本安装包(如 .exe 安装版或 .zip 压缩包)。JDK官网下载
2、规划安装路径:建议在非系统盘(如 D 盘)创建一个统一的 Java 目录,并将不同版本的 JDK 存放在独立、无中文、无特殊字符的文件夹中。
-
推荐的标准目录结构如下:
D:\Program Files\Java\ ├── jdk-1.8 └── jdk-17
3、执行安装:
- 如果是
.exe安装版,双击运行,在安装过程中手动将路径修改为你规划好的目录。 - 如果是
.zip压缩包,解压后直接将核心文件夹(注意不要多套一层文件夹)移动到规划好的目录即可。
️ 核心配置:通过环境变量实现共存
配置环境变量是实现多版本共存与自由切换的核心。请严格按照以下步骤操作,确保所有变量均配置在系统变量区域(而非用户变量)。
-
打开环境变量设置窗口:
- 桌面右键点击"此电脑" -> 选择"属性"。
- 在系统页面找到并点击"高级系统设置"。
- 在弹出的窗口右下角点击"环境变量"。
-
新建各版本的专属路径变量 :
在"系统变量"区域点击"新建",分别为每个已安装的 JDK 版本创建一个专属变量。这样做的目的是为了方便后续统一管理,避免路径写死。
- 变量名 :
JAVA_8_HOME
变量值 :D:\Program Files\Java\jdk-1.8(指向你的 JDK 8 根目录) - 变量名 :
JAVA_17_HOME
变量值 :D:\Program Files\Java\jdk-17(指向你的 JDK 17 根目录)
- 变量名 :
-
新建/修改主切换变量
JAVA_HOME:继续在系统变量中点击"新建"(如果已有则点击编辑)。这个变量是系统识别默认 JDK 的核心,我们通过修改它的指向来实现版本切换。
- 变量名 :
JAVA_HOME - 变量值 :
%JAVA_8_HOME% - 说明:这里默认指向 JDK 8。如果你想默认使用 JDK 17,将其值改为
%JAVA_17_HOME%即可。注意前后带有%符号,这是引用上面创建的专属变量。
- 变量名 :
-
配置
Path变量 :在系统变量列表中找到名为
Path的变量,选中它并点击"编辑"。- 点击"新建",在列表中添加一条新记录:
%JAVA_HOME%\bin - 关键避坑点 :Windows 系统在执行命令时会按照
Path列表从上到下的顺序寻找。如果你的列表中原本就存在其他 Java 路径(例如 Oracle 自动生成的C:\Program Files\Common Files\Oracle\Java\javapath),务必通过右侧的"上移"按钮,将%JAVA_HOME%\bin移动到列表的最顶端。否则系统会优先调用旧版本的 Java,导致你的切换配置失效。 - 依次点击"确定"保存并关闭所有环境变量窗口。
- 点击"新建",在列表中添加一条新记录:
-
配置
CLASSPATH变量(可选但推荐) :为了保证部分老项目或工具的兼容性,建议检查或新建
CLASSPATH变量。- 变量名 :
CLASSPATH - 变量值 :
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; - 注意:最前面的
.;代表当前目录,绝对不能遗漏。
- 变量名 :
版本切换与验证
完成上述配置后,你就可以随心所欲地切换 JDK 版本了。
-
验证当前版本:
-
必须关闭所有已经打开的命令行窗口(CMD 或 PowerShell),重新打开一个新的窗口(让新的环境变量生效)。
-
输入以下命令查看当前生效的 JDK 版本:cmd
java -version javac -version -
如果显示的是 JDK 8 的版本信息,说明配置成功。
-
-
自由切换版本:
- 当你需要使用 JDK 17 时,只需再次打开"环境变量"窗口,找到
JAVA_HOME变量,将其值从%JAVA_8_HOME%修改为%JAVA_17_HOME%,保存退出。 - 重新打开一个新的命令行窗口,再次输入
java -version,你会发现版本已经成功切换为 JDK 17。
- 当你需要使用 JDK 17 时,只需再次打开"环境变量"窗口,找到
常见问题排查 (FAQ)
-
Q:修改了
JAVA_HOME后,java -version显示的版本没有变化?
A :这通常是因为Path环境变量中存在优先级更高的旧 Java 路径。请回到Path变量的编辑界面,确认%JAVA_HOME%\bin是否被移到了最顶端。此外,务必确保你关闭了旧的命令行窗口并重新打开。 -
Q:提示"java 不是内部或外部命令"?
A :请检查JAVA_HOME的变量值是否书写正确(路径是否真实存在),以及Path中是否正确添加了%JAVA_HOME%\bin。 -
Q:IDE(如 IntelliJ IDEA)中如何指定 JDK?
A :IDE 通常有独立的 JDK 配置。你可以在 IDEA 的File -> Project Structure -> SDKs中,分别添加你安装在D:\Program Files\Java\下的各个 JDK 目录。在创建项目时,可以为每个项目单独指定所需的 JDK 版本,这与系统的环境变量互不冲突。