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/
选择 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(示例片段):
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/
附:历史版本/学习用渠道(如遇登录限制)
百度网盘下载 JDK 8/17/21 链接
安装完成!🎉 现在你可以开始 Java 开发之旅了。