Windows 安装 JDK 8/11/17/21 与多版本切换全指南(含 winget/choco、IDE 配置、FAQ)
适合零基础到进阶用户。你将获得:
- 明确的发行版与版本选型建议
- 三种安装路径:官网安装、包管理器安装、卸载清理
- 正确配置
JAVA_HOME与Path的方法 - 多版本共存与切换策略(系统级、项目级、IDE级)
- IntelliJ IDEA、Maven/Gradle 的环境联动设置
- 常见错误一键排查清单
目录
- 版本选型与发行版
- 安装方式(官网/Temurin/Zulu、winget/choco、卸载清理)
- 环境变量配置(JAVA_HOME/Path)
- 多版本共存与切换(系统/项目/IDE)
- 验证安装
- IDE 配置(IntelliJ IDEA、Maven、Gradle)
- 常见问题 FAQ
- 参考与下载渠道(附:网盘)
1. 版本选型与发行版
JDK(Java Development Kit)包含:
- JRE(运行时)
- 编译器/调试器(javac/jdb 等)
- 工具链(如 javadoc、jlink 等)
常见发行版:
- Oracle JDK(官方商业/免费用途政策复杂,企业常用)
- Eclipse Temurin(Adoptium 社区发行,稳定、广泛使用,推荐)
- Zulu(Azul 发行,长期维护版本多,稳定)
版本建议:
| 版本 | 特点 | 适用场景 |
|---|---|---|
| JDK 8 | 老牌 LTS,兼容性强 | 维护旧项目、入门 |
| JDK 11 | LTS,许多企业的稳定线 | 企业项目 |
| JDK 17 | 最新主流 LTS,Spring Boot 3.x 需要 | 新项目、主力推荐 |
| JDK 21 | 最新 LTS,前沿特性 | 学习新特性/新项目 |
推荐:学习/新项目优先 17 或 21;维护旧项目按需安装 8/11 并启用多版本并存。
2. 安装方式(官网/Temurin/Zulu、winget/choco、卸载清理)
若遇到登录问题,可以在链接下载:百度网盘下载 JDK 8/17/21 (Oracle)链接
2.1 官网安装(以 JDK 21 为例)
-
打开 Oracle/Temurin/Zulu 任一下载页:
- Oracle JDK:
https://www.oracle.com/java/technologies/downloads/ - Eclipse Temurin:
https://adoptium.net/ - Azul Zulu:
https://www.azul.com/downloads/
- Oracle JDK:
-
选择 Windows 平台,下载对应位数的 Installer(.msi/.exe)。
-
运行安装程序,建议安装到统一的开发目录(例如
D:\Develop\Java\jdk-21)。 -
完成后执行“ 环境变量配置”。
常见界面参考:
2.2 包管理器安装(推荐简化/可多版本共存)
- 使用 winget(Windows 10 2004+ / 11):
# JDK 17(Oracle 官方包可能需接受协议提示,winget 会处理)
winget install --id EclipseAdoptium.Temurin.17.JDK --exact --silent
# JDK 21(Temurin)
winget install --id EclipseAdoptium.Temurin.21.JDK --exact --silent
# 查询已安装
winget list temurin
- 使用 Chocolatey:
choco install temurin17 --yes
choco install temurin21 --yes
安装完成后,继续执行“环境变量配置”。
2.3 卸载与清理残留
- 在“应用和功能”卸载对应 JDK;
- 删除旧目录(如
C:\Program Files\Java\jdk-xx或自定义目录); - 打开环境变量,清理
JAVA_HOME、Path中旧的 JDK 路径; - 使用
where java确认不会解析到已删除路径。
3. 环境变量配置(JAVA_HOME/Path)
环境变量让系统能在任意位置找到 Java 命令,无需每次输入完整路径。
打开环境变量设置:
- 方法一:
Win + R→ 输入sysdm.cpl→ 回车 → “高级” → “环境变量” - 方法二:右键“此电脑” → “属性” → “高级系统设置” → “环境变量”
系统变量:
-
新建
JAVA_HOME→ 值指向 JDK 安装根目录(例如D:\Develop\Java\jdk-21) -
编辑
Path→ 新增:%JAVA_HOME%\bin
命令行快速配置示例(管理员 PowerShell):
$env:JAVA_HOME="D:\Develop\Java\jdk-21"
[Environment]::SetEnvironmentVariable("JAVA_HOME",$env:JAVA_HOME,"Machine")
$old = [Environment]::GetEnvironmentVariable("Path","Machine")
[Environment]::SetEnvironmentVariable("Path",$old + ";%JAVA_HOME%\bin","Machine")
目录结构科普(JDK 根目录常见子目录):
bin:Java 命令工具集(javac/java 等,最常用)conf:配置文件include:平台特定头文件jmods:模块文件legal:授权文档lib:工具补充的 JAR 包
4. 多版本共存与切换(系统/项目/IDE)
场景:同机需要 JDK 8/11/17/21 并存。
系统级方案:
- 固定一个默认版本为系统
JAVA_HOME(例如 17); - 其他版本安装在不同目录,必要时临时切换:
# 临时在当前会话使用 JDK 8
$env:JAVA_HOME="D:\Develop\Java\jdk8"
$env:Path="$env:JAVA_HOME\bin;$env:Path"
java -version
项目级方案:
- 在 IDE(IntelliJ IDEA)中为每个项目单独指定 JDK 版本(见下一节);
- Maven/Gradle 通过
maven-toolchain或gradle-toolchain指定编译目标版本(可与运行 JDK 区分)。
包管理器方案:
- winget/choco 安装多个 Temurin 版本,长期并存;通过 IDE 或脚本选择使用。
5. 验证安装
打开新的命令行窗口(使环境变量生效),执行:
java -version
javac -version
where java
出现版本信息且路径指向期望的目录即为成功。
6.IDE 配置(IntelliJ IDEA、Maven、Gradle)
IntelliJ IDEA:
- File → Project Structure → SDKs → Add → 选择 JDK 目录(例如
D:\Develop\Java\jdk-17)。 - Project → Project SDK/Language level 选择匹配版本(例如 17)。
- Gradle 项目:Settings → Build Tools → Gradle → Gradle JVM 指向期望 JDK。
- Maven 项目:建议在
pom.xml设置编译版本,在settings.xml或 Toolchains 指定 JDK。
Maven(示例片段):
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
Gradle(Groovy):
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
7. 常见问题 FAQ
Q1:提示“java 不是内部或外部命令”
- 检查是否创建
JAVA_HOME,且Path中包含%JAVA_HOME%\bin; - 关闭并重新打开命令行窗口;
- 执行
where java查看是否仍指向旧路径,若是请清理旧路径。
Q2:安装多个 JDK 后编译/运行版本不一致
- IDE 中分别设置 Project SDK 与 Gradle/Maven 的 JDK;
- Maven/Gradle 使用 toolchain 指定编译版本;
- 命令行运行用到系统默认
JAVA_HOME,必要时临时切换(见第 4 节)。
Q3:IDE 无法识别 JDK 或报“javac 缺失”
- 选择 JDK 根目录而非 JRE 目录;
- 选择包含
bin\javac.exe的路径。
Q4:Oracle 下载需要登录/协议问题
- 可使用 Temurin/Zulu 的 LTS 版本替代;或使用包管理器(winget/choco)。
8. 参考与下载渠道(附:网盘)
官方/可信下载:
- Oracle JDK:
https://www.oracle.com/java/technologies/downloads/ - Eclipse Temurin:
https://adoptium.net/ - Azul Zulu:
https://www.azul.com/downloads/
附:历史版本/学习用渠道(如遇登录限制)
安装完成!🎉 现在你可以开始 Java 开发之旅了。