03 JDK安装与开发环境配置
学习目标
通过本章学习,你将能够:
- 理解 JDK、JRE、JVM 的区别与联系
- 掌握 JDK 25 的官方下载与安装方法
- 学会配置 Java 环境变量
- 熟悉常用的 Java 开发工具(IDE、构建工具)
- 验证 Java 环境是否正确配置
- 了解多版本 JDK 的共存与切换
- 掌握 JDK 目录结构的基本认知
背景介绍
在开始 Java 编程之旅前,我们首先要搭建开发环境。JDK(Java Development Kit)是 Java 开发的核心工具包,包含了编译器、运行时环境、类库等必要组件。Java 25 作为最新版本,带来了诸多新特性和性能优化,正确安装和配置 JDK 是高效开发的基础。
对于初学者来说,环境配置往往是第一道门槛。别担心,本章将手把手带你完成 JDK 安装与环境配置,让你快速搭建起一个完整的 Java 开发环境。
一、理解 JDK、JRE、JVM
在安装 JDK 之前,先理清几个容易混淆的概念:
- JDK(Java Development Kit):Java 开发工具包,包含了 JRE 以及开发工具(如 javac 编译器、javadoc 文档生成器等)。开发者需要安装 JDK 来编写和编译 Java 程序。
- JRE(Java Runtime Environment):Java 运行时环境,包含了 JVM 和 Java 核心类库。如果只需要运行 Java 程序(而非开发),安装 JRE 即可。注意:从 JDK 11 开始,JRE 不再单独提供,需要使用 JDK。
- JVM(Java Virtual Machine):Java 虚拟机,负责执行 Java 字节码。JVM 是 Java "一次编写,到处运行"的核心,它屏蔽了底层操作系统的差异。
可以这样记忆:JDK = JRE + 开发工具,JRE = JVM + 核心类库。作为开发者,我们安装 JDK 就够了。
二、下载 JDK 25
官方下载渠道
Oracle 官方提供了 JDK 的下载服务。访问 Oracle JDK 官网,选择适合你操作系统的版本:
- Windows:选择
.exe或.zip安装包 - macOS:选择
.dmg安装包或.tar.gz压缩包 - Linux:选择
.tar.gz压缩包(支持 x64、ARM64 等架构)
下载链接:https://www.oracle.com/java/technologies/downloads/
版本说明
- LTS(Long-Term Support)版本:长期支持版本,稳定性高,适合生产环境。如 Java 17、Java 21。
- 非 LTS 版本:每 6 个月发布一个新版本,如 Java 25。包含最新特性,但支持周期较短(通常 6 个月)。
本教程使用 Java 25(最新特性),但实际生产项目建议使用 LTS 版本(如 Java 21)。
开源替代方案:OpenJDK
如果不想使用 Oracle JDK,可以选择 OpenJDK 的发行版:
- Eclipse Temurin:由 Eclipse 基金会维护,完全开源免费。
- Amazon Corretto:AWS 提供的 OpenJDK 发行版,长期支持。
- Azul Zulu:性能优化良好的 OpenJDK 发行版。
这些发行版与 Oracle JDK 在 API 和功能上完全兼容,可以放心使用。
三、安装 JDK
Windows 安装步骤
- 运行下载的
.exe安装包。 - 选择安装路径(建议:
C:\Program Files\Java\jdk-25,避免路径中有中文或空格)。 - 勾选 "Set JAVA_HOME environment variable"(自动设置环境变量)。
- 点击 "Next" 完成安装。
安装完成后,验证安装:
java -version
javac -version
如果输出版本号(如 java version "25"),说明安装成功。
macOS 安装步骤
- 运行下载的
.dmg安装包。 - 拖动 JDK 图标到 Applications 文件夹。
- 完成安装后,JDK 默认安装到
/Library/Java/JavaVirtualMachines/目录下。
验证安装:
java -version
javac -version
Linux 安装步骤
以 Ubuntu 为例,使用包管理器安装:
# 更新软件包列表
sudo apt update
安装 OpenJDK 25(需要添加 PPA 或使用 Snap)
sudo snap install openjdk --channel=25/stable
验证安装
java -version
javac -version
如果下载的是 .tar.gz 压缩包,手动解压到指定目录:
# 解压到 /opt 目录
sudo tar -zxvf openjdk-25_linux-x64_bin.tar.gz -C /opt
创建软链接(便于切换版本)
sudo ln -s /opt/jdk-25 /usr/lib/jvm/java-25-openjdk-amd64
四、配置环境变量
配置环境变量是为了让系统能够找到 Java 的可执行文件(如 java、javac)和类库。
Windows 配置方法
- 右键 "此电脑" → "属性" → "高级系统设置" → "环境变量"。
- 在 "系统变量" 中点击 "新建":
JAVA_HOME
- 变量值:C:\Program Files\Java\jdk-25(根据实际安装路径调整)
- 编辑 "Path" 变量,添加:
%JAVA_HOME%\bin
- 点击 "确定" 保存。
验证配置:
echo %JAVA_HOME%
echo %Path%
macOS/Linux 配置方法
编辑 ~/.bashrc 或 ~/.zshrc(取决于你使用的 Shell):
# 设置 JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-25.jdk/Contents/Home # macOS
export JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64 # Linux
将 JDK 的 bin 目录添加到 PATH
export PATH=$JAVA_HOME/bin:$PATH
保存后执行:
source ~/.bashrc # 或 source ~/.zshrc
验证配置:
echo $JAVA_HOME
echo $PATH
五、验证 Java 环境
编写一个经典的 "Hello World" 程序来验证环境是否配置正确。
创建 Java 源文件
新建文件 HelloWorld.java,内容如下:
/**
* 第一个 Java 程序:Hello World
* 验证 JDK 安装和编译环境是否正常
*/
public class HelloWorld {
public static void main(String[] args) {
// 输出 Hello World
System.out.println("Hello, Java 25!");
System.out.println("恭喜!你的 Java 环境已配置成功。");
}
}
编译和运行
在命令行中执行:
# 编译源文件(生成 HelloWorld.class 字节码文件)
javac HelloWorld.java
运行程序(不需要加 .class 后缀)
java HelloWorld
如果输出:
Hello, Java 25!
恭喜!你的 Java 环境已配置成功。
说明一切正常!🎉
常见问题排查
问题 1:java: command not found 或 'java' 不是内部或外部命令
- 原因:PATH 环境变量未正确配置,或者 JDK 的
bin目录未添加到 PATH。 - 解决:检查
JAVA_HOME和PATH设置,重启命令行窗口或重新加载配置文件。
问题 2:javac: command not found
- 原因:只安装了 JRE 而非 JDK,或
JAVA_HOME指向错误。 - 解决:确认安装的是 JDK,并检查
JAVA_HOME是否指向 JDK 安装目录(而非 JRE 目录)。
问题 3:版本号显示不一致
- 原因:系统安装了多个 JDK,PATH 中优先级高的版本不是期望的版本。
- 解决:调整 PATH 的顺序,或使用
update-alternatives(Linux)切换版本。
六、常用的 Java 开发工具
搭建好基础环境后,选择合适的开发工具能大幅提升效率。
IDE(集成开发环境)
推荐以下 IDE:
- IntelliJ IDEA(推荐)
- Eclipse
- Visual Studio Code
构建工具
- Maven:基于 XML 配置的项目管理和构建工具,约定优于配置。
- Gradle:基于 Groovy/Kotlin DSL 的构建工具,灵活性和性能优于 Maven。
这些工具将在后续章节详细介绍,这里只需知道它们的存在即可。
七、多版本 JDK 共存与切换
实际开发中,可能需要同时使用多个 Java 版本(如 Java 11 用于生产项目,Java 25 用于学习新特性)。
Windows 多版本管理
安装多个 JDK 后,通过修改 JAVA_HOME 和 PATH 切换版本:
REM 切换到 Java 11
set JAVA_HOME=C:\Program Files\Java\jdk-11
set PATH=%JAVA_HOME%\bin;%PATH%
REM 验证当前版本
java -version
macOS/Linux 多版本管理
使用 jenv 工具管理多版本 JDK:
# 安装 jenv(macOS)
brew install jenv
安装 jenv(Linux)
git clone https://github.com/jenv/jenv.git ~/.jenv
添加 JDK 到 jenv
jenv add /Library/Java/JavaVirtualMachines/jdk-25.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
列出已安装版本
jenv versions
切换全局版本
jenv global 25
为当前目录设置特定版本
jenv local 11
八、JDK 目录结构一览
了解 JDK 目录结构有助于深入理解 Java 的工作原理:
jdk-25/
├── bin/ # 可执行文件(java、javac、javadoc 等)
├── conf/ # 配置文件(如 security.policy)
├── include/ # C 语言头文件(用于 JNI 开发)
├── jmods/ # JDK 模块(Java 9+ 模块化系统)
├── legal/ # 版权和许可文件
├── lib/ # Java 类库和工具库
└── man/ # 手册文档
关键目录说明:
bin/:存放java(运行程序)、javac(编译器)、javadoc(文档生成器)等工具。lib/:存放核心类库(如rt.jar在早期版本中,Java 9+ 后改为模块)。jmods/:Java 模块化系统的模块文件(.jmod格式)。
总结
本章我们完成了以下工作:
- 理解了 JDK、JRE、JVM 的关系与区别。
- 下载并安装了 JDK 25。
- 配置了 JAVA_HOME 和 PATH 环境变量。
- 通过编写和运行 "Hello World" 验证了环境配置。
- 了解了常用的 Java 开发工具(IDE、构建工具)。
- 掌握了多版本 JDK 的共存与切换方法。
环境配置是 Java 学习的第一步,也是最重要的一步。正确配置后,你就可以开始编写 Java 程序了。下一章,我们将创建第一个完整的 Java 程序 "Hello World",并深入解析程序的执行流程。
思考题:
- JDK 和 JRE 的区别是什么?为什么开发者需要安装 JDK?
- 如果
java -version显示版本号,但javac -version报错,可能是什么原因? - 如何在同一台电脑上安装并切换多个 Java 版本?
推荐阅读:
