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 官网,选择适合你操作系统的版本:

  1. Windows:选择 .exe.zip 安装包
  2. macOS:选择 .dmg 安装包或 .tar.gz 压缩包
  3. 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 安装步骤

  1. 运行下载的 .exe 安装包。
  2. 选择安装路径(建议:C:\Program Files\Java\jdk-25,避免路径中有中文或空格)。
  3. 勾选 "Set JAVA_HOME environment variable"(自动设置环境变量)。
  4. 点击 "Next" 完成安装。

安装完成后,验证安装:

java -version
javac -version

如果输出版本号(如 java version "25"),说明安装成功。

macOS 安装步骤

  1. 运行下载的 .dmg 安装包。
  2. 拖动 JDK 图标到 Applications 文件夹。
  3. 完成安装后,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 的可执行文件(如 javajavac)和类库。

Windows 配置方法

  1. 右键 "此电脑" → "属性" → "高级系统设置" → "环境变量"。
  2. 在 "系统变量" 中点击 "新建":
- 变量名:JAVA_HOME - 变量值:C:\Program Files\Java\jdk-25(根据实际安装路径调整)
  1. 编辑 "Path" 变量,添加:
- %JAVA_HOME%\bin
  1. 点击 "确定" 保存。

验证配置:

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 环境已配置成功。

说明一切正常!🎉

常见问题排查

问题 1java: command not found'java' 不是内部或外部命令

  • 原因:PATH 环境变量未正确配置,或者 JDK 的 bin 目录未添加到 PATH。
  • 解决:检查 JAVA_HOMEPATH 设置,重启命令行窗口或重新加载配置文件。

问题 2javac: command not found

  • 原因:只安装了 JRE 而非 JDK,或 JAVA_HOME 指向错误。
  • 解决:确认安装的是 JDK,并检查 JAVA_HOME 是否指向 JDK 安装目录(而非 JRE 目录)。

问题 3:版本号显示不一致

  • 原因:系统安装了多个 JDK,PATH 中优先级高的版本不是期望的版本。
  • 解决:调整 PATH 的顺序,或使用 update-alternatives(Linux)切换版本。

六、常用的 Java 开发工具

搭建好基础环境后,选择合适的开发工具能大幅提升效率。

IDE(集成开发环境)

推荐以下 IDE:

  • IntelliJ IDEA(推荐)
- 智能代码提示、重构功能强大。 - 社区版免费(功能足够),旗舰版收费(支持 Web 开发等)。 - 下载地址:https://www.jetbrains.com/idea/
  • Eclipse
- 完全免费开源,插件生态丰富。 - 适合初学者入门。 - 下载地址:https://www.eclipse.org/downloads/
  • Visual Studio Code
- 轻量级编辑器,通过 "Extension Pack for Java" 插件支持 Java。 - 适合小项目和快速开发。

构建工具

  • Maven:基于 XML 配置的项目管理和构建工具,约定优于配置。
  • Gradle:基于 Groovy/Kotlin DSL 的构建工具,灵活性和性能优于 Maven。

这些工具将在后续章节详细介绍,这里只需知道它们的存在即可。

七、多版本 JDK 共存与切换

实际开发中,可能需要同时使用多个 Java 版本(如 Java 11 用于生产项目,Java 25 用于学习新特性)。

Windows 多版本管理

安装多个 JDK 后,通过修改 JAVA_HOMEPATH 切换版本:

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 格式)。

总结

本章我们完成了以下工作:

  1. 理解了 JDK、JRE、JVM 的关系与区别。
  2. 下载并安装了 JDK 25。
  3. 配置了 JAVA_HOME 和 PATH 环境变量。
  4. 通过编写和运行 "Hello World" 验证了环境配置。
  5. 了解了常用的 Java 开发工具(IDE、构建工具)。
  6. 掌握了多版本 JDK 的共存与切换方法。

环境配置是 Java 学习的第一步,也是最重要的一步。正确配置后,你就可以开始编写 Java 程序了。下一章,我们将创建第一个完整的 Java 程序 "Hello World",并深入解析程序的执行流程。

思考题


  1. JDK 和 JRE 的区别是什么?为什么开发者需要安装 JDK?

  2. 如果 java -version 显示版本号,但 javac -version 报错,可能是什么原因?

  3. 如何在同一台电脑上安装并切换多个 Java 版本?

推荐阅读