一、介绍
JDK(Java Development Kit,Java 开发工具包)是 Oracle 公司提供的 Java 标准版开发工具包,包含 Java 运行时环境(JRE)、编译器(javac)、调试器、文档生成器以及核心类库等开发工具,用于 Java 程序的开发、编译、调试与运行。简单来说,JDK 包含 JRE,JRE 包含 JVM,三者是逐层嵌套的关系——想要开发 Java 程序,必须安装 JDK。
本教程以 Windows 11 操作系统为基础,手把手带你完成 Oracle JDK 21 的下载、安装与环境变量配置,解决新手在环境搭建中最常遇到的路径空格报错、javac 无法识别、多个 JDK 版本冲突等典型问题。
二、版本选择指南
2.1 版本体系速览
Java 版本每半年发布一次(每年 3 月和 9 月),分为 LTS(Long-Term Support,长期支持版)和非 LTS 版本。LTS 版本面向生产环境,官方提供至少 5 年的免费安全更新与关键 Bug 修复,功能冻结严格,发布后不再引入破坏性变更。非 LTS 版本支持期极短(约 6 个月),仅适合技术预研和尝鲜。
当前 Java 版本发布节奏如下(LTS 版本标 ★):
• JDK 17 ★(2021.09) • JDK 18(2022.03) • JDK 19(2022.09) • JDK 20(2023.03) • JDK 21 ★(2023.09) • JDK 22(2024.03) • JDK 23(2024.09) • JDK 24(2025.03) • JDK 25 ★(2025.09) • JDK 26(2026.03)
截至 2026 年 4 月,官方已发布并仍在支持的 LTS 版本为 JDK 8、JDK 11、JDK 17、JDK 21 和 JDK 25。
2.2 版本选择
本教程选用 JDK 21 LTS(2023 年 9 月发布),是当前广泛使用的 LTS 版本,获得 Oracle 和主流厂商长期支持。JDK 21 引入了虚拟线程(Project Loom)、分代 ZGC、模式匹配等革命性特性,显著提升高并发性能与开发效率。
JDK 21 的 Oracle 免费公共更新将于 2026 年 9 月终止,之后将转为 OTN 许可模式(商业订阅)。若需更长的免费支持周期,可选用 Eclipse Temurin、Amazon Corretto 等社区发行版,或直接选用 JDK 25(LTS,2025 年 9 月发布,免费支持至 2033 年 9 月)。
JDK 26 于 2026 年 3 月 17 日发布,是当前最新版本,但属于非 LTS 版本,仅支持至 2026 年 9 月,适合尝鲜学习;生产环境建议仍选用 JDK 21 或 JDK 25 等 LTS 稳定版本。
2.3 选型建议
● 新手入门 / 新项目:推荐 JDK 17 或 JDK 21,两者均为 LTS 版本,生态成熟,教程资料最丰富,不用担心短期内版本过时的问题。
● 追求最新技术特性:可选 JDK 25(LTS),享受虚拟线程、分代 ZGC 等现代特性,Oracle 将提供至少八年的商业支持。
● 维护老项目:根据项目原有版本选择对应的 JDK 版本,逐步升级迁移。
● 生产环境部署:必须选用 LTS 版本(推荐 JDK 21 或 JDK 25),避免非 LTS 版本上线后安全更新中断的风险。
三、前置条件
3.1 系统要求
在开始安装之前,请确认你的系统满足以下要求:
● 操作系统:Windows 11(64 位)
● 处理器:x64 架构(Intel 或 AMD 64 位处理器)
● 内存:建议至少 2GB(推荐 4GB 以上)
● 硬盘空间:JDK 21 安装包约 200MB,安装后占用约 500MB,建议系统盘预留至少 1GB 可用空间
● 管理员权限:安装过程需要管理员权限
3.2 查看系统信息
1、按 Win + I 打开“设置”
2、点击左侧“系统” → 右侧“关于”
3、确认“系统类型”显示为 64 位操作系统,基于 x64 的处理器
3.3 旧版 JDK 卸载步骤
若系统已安装其他版本的 JDK,建议先卸载旧版本,避免环境变量冲突。
1、按 Win + R,输入 appwiz.cpl,回车打开“程序和功能”
2、在列表中找到所有名称包含“Java”“JDK”“JRE”的程序
3、逐一选中并点击“卸载”
4、重启电脑后,按 Win + R → 输入 cmd → 输入 java -version,确认终端提示“不是内部或外部命令”(即旧版本已完全卸载)
四、安装步骤
4.1 下载 JDK 21(其他版本下载参照附录提供地址)
Oracle 官方下载
1、访问 Oracle JDK 官方下载页面:https://www.oracle.com/java/technologies/downloads/#java21
2、在页面中找到 JDK 21 区域,选择 Windows 标签
3、点击 x64 Installer(文件名格式:jdk-21_windows-x64_bin.exe)开始下载
4、下载前需注册并登录 Oracle 账号,勾选接受许可协议
⚠️ 注意:无论选择哪种渠道,安装前请关掉杀毒软件——某些国产安全软件可能会误拦 MSI 安装程序的注册表写入操作,导致安装失败。
4.2 安装 JDK 21
步骤 1:以管理员身份运行安装程序
找到下载好的安装文件(.exe 或 .msi 格式),右键点击 → 选择“以管理员身份运行”,以避免权限不足导致的安装失败。
步骤 2:进入安装向导
在弹出的安装向导窗口中,点击“下一步”。
步骤 3:选择安装目录
● 默认安装路径:C:\Program Files\Java\jdk-21.x.x
● 强烈建议:将路径改为纯英文、不含空格的目录,例如 D:\Java\jdk-21.0.10。

● ⚠️ 重要提醒:C:\Program Files 中的空格会导致某些旧脚本或 IDE 解析失败。路径中也不要包含中文或特殊符号。
● 修改路径后,点击“下一步”继续。
步骤 4:等待安装完成
安装程序会自动解压并安装文件,等待进度条走完(约 1-3 分钟),期间不要关闭窗口。
步骤 5:完成安装
安装完成后,点击“关闭”退出安装向导。JDK 21 已内置 JRE,无需单独安装 JRE。
五、安装后验证清单
5.1 配置环境变量
这是整个安装过程中最容易出错的环节,请仔细按照以下步骤操作。
步骤 1:打开环境变量设置
● 右键点击桌面上的“此电脑” → 选择“属性”
● 点击“高级系统设置”
● 在弹出的“系统属性”窗口中,点击“环境变量”

步骤 2:新建 JAVA_HOME 系统变量
1、在“环境变量”窗口的“系统变量”区域(注意:不是用户变量),点击“新建”
2、填写变量信息:
• 变量名: JAVA_HOME• 变量值:填写 JDK 的根目录路径,例如 D:\Java\jdk-21(即安装时选择的目录,不带\bin)
3、点击“确定”保存

⚠️ 关键提醒:
JAVA_HOME必须指向 JDK 根目录,不能指向bin子目录。因为构建工具(如 Maven、Gradle)需要根据JAVA_HOME找到lib/tools.jar和bin/javac.exe,指向bin会导致javac无法正常使用。
步骤 3:配置 Path 变量
1、在“系统变量”列表中找到 Path 变量,选中后点击“编辑”
2、点击“新建”,输入以下内容:%JAVA_HOME%\bin
3、将这一条路径上移到 Path 列表的最顶部(或至少确保它在所有其他 Java 相关路径之前)
4、检查并删除列表中所有硬编码的 JDK 路径(如 C:\Program Files\Java\jdk-17\bin),避免冲突
5、点击“确定”保存

步骤 4:确认所有更改
在“环境变量”窗口点击“确定”,在“系统属性”窗口点击“确定”,关闭所有窗口。
5.2 验证 JDK 安装
步骤 1:打开新的命令提示符
按 Win + R,输入 cmd,回车打开命令提示符窗口。
⚠️ 重要:必须重新打开一个新的 CMD 窗口,修改过的环境变量才会生效。
步骤 2:输入验证命令
在命令提示符中依次输入以下命令,每输完一个按回车:
1、echo %JAVA_HOME%——应显示你的 JDK 安装根目录路径(例如 D:\Java\jdk-21)
2、java -version——应显示 JDK 21 版本信息(例如 java version "21.0.x" 202x-xx-xx LTS)
3、javac -version——应显示 javac 21.0.x,说明编译器配置正确
Microsoft Windows [版本 10.0.26100.8246]
(c) Microsoft Corporation。保留所有权利。
C:\Users\O_o>echo %JAVA_HOME%
D:\Java\jdk-21.0.10
C:\Users\O_o>java -version
java version "21.0.10" 2026-01-20 LTS
Java(TM) SE Runtime Environment (build 21.0.10+8-LTS-217)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.10+8-LTS-217, mixed mode, sharing)
C:\Users\O_o>javac -version
javac 21.0.10
C:\Users\O_o>成功标志:三条命令均正常输出,没有“不是内部或外部命令”或“无法识别的命令”报错,说明 JDK 安装成功,环境变量配置正确。
六、基础配置与优化
6.1 多版本 JDK 管理
若需在 Windows 11 上同时维护多个 JDK 版本(如 JDK 17 和 JDK 21),可按以下方法实现灵活切换:
1、分别安装各 JDK 版本至不同目录,例如:D:\Java\jdk-17、D:\Java\jdk-21.0.10。

2、在系统变量中分别创建版本专用变量:
● 变量名:JAVA_17_HOME,变量值:D:\Java\jdk-17
● 变量名:JAVA_21_HOME,变量值:D:\Java\jdk-21.0.10
3、创建主引用变量 JAVA_HOME,初始值设为 %JAVA_17_HOME%
4、Path 变量中仅保留一条:%JAVA_HOME%\bin,并确保位于列表最上方
5、切换版本时,只需修改 JAVA_HOME 的变量值为 %JAVA_25_HOME% 即可,无需反复编辑 Path

进阶工具推荐:若需要更频繁地切换 JDK 版本,可以使用 JDK 版本管理工具,如 Jabba(跨平台支持 Windows、macOS、Linux)或 Windows 专用的 JVMS,这里不做详细介绍。
⚠️ 踩坑预警:从 JDK 9 引入模块化系统开始,
rt.jar和tools.jar已经物理消失,系统能自动处理类路径。**如果在高版本强行配置指向不存在的.jar,反而会引发环境报错。**若使用 JDK 8,且某些老旧项目需要设置CLASSPATH,可新增系统变量CLASSPATH,值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。对于 JDK 9+,请删除该变量。
6.2 IDE 中配置 JDK
● IntelliJ IDEA:File → Project Structure → SDK → Add JDK → 选择 JDK 安装根目录
● VS Code:安装 Java 扩展包(Extension Pack for Java)→ 按 Ctrl+Shift+P → Java: Configure Java Runtime → 选择 JDK 21 的安装路径
6.3 测试 HelloWorld 程序
打开命令提示符,按以下步骤测试 JDK 是否正常工作:
1、创建一个 HelloWorld.java 文件:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, JDK 21!");
}
}2、编译:javac HelloWorld.java
3、运行:java HelloWorld
4、若输出 Hello, JDK 21!,说明 JDK 环境已完全正常工作。
七、常见问题与避坑汇总
7.1 安装过程中的常见问题
Q1:java -version 正常显示版本号,但 javac -version 提示“不是内部或外部命令”
● 原因:JAVA_HOME 指向了 JDK 的 bin 子目录,而非 JDK 根目录;或 Path 中未添加 %JAVA_HOME%\bin
● 解决:检查 JAVA_HOME 变量值,确保路径以 JDK 根目录结尾(如 D:\Java\jdk-21),不包含 \bin;检查 Path 变量中是否有 %JAVA_HOME%\bin 条目
Q2:java -version 显示的还是旧版本 JDK
● 原因:Path 中旧 JDK 的 bin 目录排在新 JDK 前面,或残留的旧 JDK 路径未被删除
● 解决:运行 where java 查看所有 Java 路径,确认第一行是否指向 JDK 21。将 %JAVA_HOME%\bin 拖到 Path 列表最顶部,删除所有旧 JDK 的硬编码路径。改完后务必重启终端
Q3:安装时提示“管理员权限不足”
● 原因:未以管理员身份运行安装程序
● 解决:右键点击安装文件 → 选择“以管理员身份运行”
Q4:安装路径包含空格或中文导致报错
● 原因:部分旧脚本或构建工具无法解析含空格的路径
● 解决:卸载后重新安装,选择纯英文、不含空格的路径(如 D:\Java\jdk-21)
7.2 使用中的常见问题
Q5:IntelliJ IDEA 找不到 JDK
● 解决:File → Project Structure → SDK → Add JDK → 选择 JDK 安装根目录。IDEA 不会自动切换项目 SDK,需要手动配置
Q6:Maven/Gradle 构建时报错“The filename, directory name, or volume label syntax is incorrect”
● 原因:安装时路径带有非法字符或者空格,导致含空格的路径被直接写入系统 PATH
● 解决:从 PATH 中删除硬编码的 JDK 路径,改用 %JAVA_HOME%\bin 引用方式
Q7:改完环境变量后 CMD 中还是显示旧版本
● 原因:CMD 窗口未重新打开,环境变量未刷新
● 解决:关闭所有已打开的 CMD/PowerShell 窗口,重新打开一个新终端再验证
八、附录(资源索引)
📦 星球专属资源:加入知识星球《开发环境百事通》,即可获取 JDK 21 安装包网盘备用链接,无需官网注册登录,直接高速下载。
版权声明
本文原创发布于知识星球及公众号 《开发环境百事通》 ,作者:栈一
如需引用,请注明出处并保留原文链接。
免责声明:本文提供的安装教程仅供参考。软件安装与系统配置可能存在风险,请自行确认系统环境并做好数据备份。作者不对因操作不当导致的任何数据丢失或系统故障承担责任。建议在操作前创建系统还原点。
夜雨聆风