windows安装配置第二个不同版本的jdk
Windows 11 是微软全新操作系统,现代化界面,流畅操作体验,适用于学习、工作与日常生活。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
无需卸载旧版JDK,在Windows中安装第二个JDK版本。本文详解如何设置不同安装目录、配置JAVA_HOME和Path环境变量,以及如何使用命令行验证版本和为不同项目指定JDK。
当电脑中已有一个 JDK,而新项目要求使用另一个版本时,完全不需要卸载旧版本。关键在于将两个版本安装在不同的目录,并通过环境变量明确当前系统默认指向哪一个 JDK。这种做法既能满足新项目的编译运行需求,又能确保依赖旧版本的服务或工具正常运行。

两个不同版本的JDK安装在独立目录中
必要的概念非常简短:Windows 通过 Path 环境变量查找可执行程序,而 JAVA_HOME 通常被构建工具和脚本用来定位 JDK 根目录。只要理清这两者的关系,就能轻松管理多个版本。
1. 将两个JDK安装到不同目录
首先确认当前已安装 JDK 的位置。如果不确定,可以在命令行执行 where java 查看路径。接着下载需要安装的第二个 JDK 版本安装包。
运行安装向导时,最关键的一步是选择目标路径。务必选择一个与旧版本完全不同的文件夹名称。例如,旧版本在 C:\Program Files\Java\jdk1.8,新版本可以安装在 C:\Program Files\Java\jdk-17。切勿将它们安装在同一目录下,否则文件覆盖会导致版本混乱且难以修复。
安装完成后,分别进入这两个目录,检查是否都包含 bin 文件夹以及 java.exe、javac.exe 等核心程序。不要仅凭“控制面板”中的程序列表判断版本,直接查看文件结构更为可靠。

1. 将两个JDK安装到不同目录
2. 配置JAVA_HOME和Path
右键点击【此电脑】,选择【属性】,进入【高级系统设置】,点击【环境变量】按钮。

在系统变量中配置JAVA_HOME和Path
在“系统变量”区域找到 JAVA_HOME。这个变量应当指向你希望作为默认版本的那个 JDK 的根目录(即包含 bin、lib 的那一层),不要指向 bin 子目录。如果你希望暂时保持旧版本为默认值,可以先不修改此项,或者将其更新为新版本的路径,具体取决于你的主要开发需求。
接下来检查 Path 变量。双击打开 Path,查看其中是否有 %JAVA_HOME%\bin 或者具体的 JDK bin 路径。
- 如果存在
%JAVA_HOME%\bin,确保它排在其他固定 JDK 路径之前,或者删除那些指向旧版本具体路径的条目,以避免冲突。 - 如果存在多个固定的绝对路径(如
C:\Program Files\Java\jdk1.8\bin),Windows 会按照从上到下的顺序查找第一个匹配的java.exe。为了减少混乱,建议只保留一个基于%JAVA_HOME%的条目,或者确保代表默认版本的路径排在最前面。
修改完成后,点击确定保存所有窗口。注意: 必须关闭所有已经打开的命令提示符(CMD)、PowerShell 窗口以及 IDE,重新打开后新的环境变量才会生效。
3. 用命令确认当前默认版本
打开一个新的命令提示符窗口,依次执行以下命令来验证配置是否成功:
java -version
javac -version
where java
where javac
java -version 和 javac -version 会显示当前调用的运行时和编译器版本。如果显示的版本号与你设置的 JAVA_HOME 不一致,请立即查看 where java 的输出结果。
where 命令会列出系统找到的所有 java.exe 路径,排在第一位的路径才是当前实际执行的版本。如果第一条路径指向了旧版本,说明 Path 中仍有旧版本的固定路径排在前面,或者 JAVA_HOME 未正确更新。此时应回到环境变量设置中调整顺序或删除冗余路径。
4. 让不同项目使用不同JDK
系统级别的默认 JDK 只能有一个,但不同项目可以通过局部设置来使用特定的版本,无需频繁修改系统环境变量。
方法一:使用启动脚本
在项目根目录创建一个批处理脚本(如 run.bat),在脚本开头临时设置环境变量:
@echo off
REM 设置特定项目的JDK路径
set JAVA_HOME=C:\Program Files\Java\jdk-17
set Path=%JAVA_HOME%\bin;%Path%
REM 执行项目命令
java -version
mvn spring-boot:run
这样,该脚本窗口内的所有 Java 命令都会使用指定的 JDK,而不会影响系统其他部分。注意路径中如果有空格,建议加上引号或使用短路径名。
方法二:在 IDE 中单独设置
如果使用 IntelliJ IDEA 或 Eclipse,可以直接在项目结构中指定 SDK。以 IntelliJ IDEA 为例,进入【File】->【Project Structure】->【Project】,在 SDK 下拉菜单中选择对应的 JDK 版本。即使系统默认是 JDK 8,IDE 也可以为当前项目编译和运行使用 JDK 17。

在IntelliJ IDEA中为项目指定特定JDK版本
这种方式最为推荐,因为它将版本控制限制在项目内部,不会因切换项目而导致全局环境变动。
5. 出现版本混乱时按路径排查
如果安装第二个 JDK 后发现命令仍显示旧版本,或者编译报错,请按以下步骤排查:
- 执行
where java和where javac,确认第一条路径是否符合预期。 - 检查“用户变量”和“系统变量”中是否都定义了
JAVA_HOME或修改了Path。通常建议只在系统变量中统一配置,避免优先级冲突。 - 确认是否真正重启了终端或 IDE。旧窗口缓存的环境变量是常见的误判原因。
不要急于卸载旧 JDK,因为许多后台服务或遗留项目可能仍依赖它。只有当确认所有工作流都能在新环境下正常运行,且不再需要旧版本时,再考虑清理不再使用的 JDK 目录。

5. 出现版本混乱时按路径排查


































