我们将以当前最主流的 OpenJDK 17 (LTS - 长期支持版本) 为例,在基于 Debian/Ubuntu 的系统(如 Ubuntu 22.04)上演示,对于 CentOS/RHEL/Fedora 等系统,命令会略有不同,我会在相应部分给出说明。

核心步骤概览
- 更新系统包列表:确保我们能获取到最新的软件包信息。
- 安装 OpenJDK:使用系统的包管理器安装 Java 开发工具包。
- 设置环境变量:配置
JAVA_HOME和PATH,让系统能找到 Java。 - 验证安装:检查 Java 和编译器是否安装成功。
第一步:更新系统
在安装任何新软件之前,最好先更新系统的包列表和已安装的包,这可以避免因依赖问题导致的安装失败。
打开终端,执行以下命令:
sudo apt update sudo apt upgrade -y
sudo apt update: 更新 APT 包管理器的本地包索引。sudo apt upgrade -y: 升级所有已安装的包到最新版本。-y表示自动确认所有提示。
第二步:安装 OpenJDK
对于绝大多数 Java OpenJDK 是最佳选择,它是 Java SE 平台的开源实现,由社区驱动,与 Oracle JDK 兼容性极高。
查找可用的 JDK 版本
在安装前,你可以先查看一下系统中可用的 JDK 版本,以便选择你需要的版本(8, 11, 17, 21 等)。

apt search openjdk
你会看到一个长长的列表,包含各种版本,如 openjdk-8-jdk, openjdk-11-jdk, openjdk-17-jdk, openjdk-21-jdk 等,对于新项目,推荐使用 LTS(长期支持)版本,如 JDK 11, 17, 或 21。
安装 JDK (以 JDK 17 为例)
这里我们选择安装 OpenJDK 17。
sudo apt install openjdk-17-jdk -y
openjdk-17-jdk: 这是包名,-jdk后缀表示安装的是 Java Development Kit,它包含了编译器(javac)、运行时环境(java)、调试工具(jdb)等开发所需的全部组件。- 如果你只需要运行 Java 程序而不需要编译,可以安装
openjdk-17-jre(Java Runtime Environment)。
安装过程中,系统会自动处理依赖关系,并下载安装所需的文件。
第三步:配置环境变量
这是最关键的一步,为了让命令行(Shell)能够识别 java, javac 等命令,并且让一些开发工具(如 Maven, Gradle, Spring Boot CLI)能自动找到 JDK 的安装位置,我们需要设置两个环境变量:JAVA_HOME 和 PATH。

查找 JDK 的安装路径
安装完成后,我们需要知道 JDK 被安装到了哪里。apt 会将 JDK 安装在 /usr/lib/jvm/ 目录下。
你可以使用 update-java-alternatives 命令来查看已安装的 Java 版本及其路径:
update-java-alternatives --list
输出可能类似于:
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-11-openjdk-amd64 1104 /usr/lib/jvm/java-11-openjdk-amd64
java-17-openjdk-amd64 1171 /usr/lib/jvm/java-17-openjdk-amd64
从上面的输出中,我们可以看到 JDK 17 的路径是 /usr/lib/jvm/java-17-openjdk-amd64,我们将使用这个路径来配置 JAVA_HOME。
编辑环境变量文件
我们需要修改 ~/.bashrc 文件(这是当前用户的配置文件,只对当前用户生效)或者 /etc/environment 文件(对所有用户生效)。对于个人开发,推荐修改 ~/.bashrc。
打开 ~/.bashrc 文件:
nano ~/.bashrc
在文件末尾添加以下内容:
# Set JAVA_HOME environment variable export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 # Add JDK's bin directory to the PATH # This ensures 'java', 'javac', etc. are available in the terminal export PATH="$JAVA_HOME/bin:$PATH"
重要提示:请确保 JAVA_HOME 的路径与你通过 update-java-alternatives --list 查看到的路径完全一致。
使配置生效
保存并关闭文件后,你需要让当前的 Shell 会话加载新的配置,你可以:
-
方法一(推荐):重新打开一个新的终端窗口。
-
方法二:在当前终端执行
source命令:source ~/.bashrc
第四步:验证安装
让我们来验证 Java 是否安装成功并且环境变量配置正确。
检查 Java 版本
在终端中输入以下命令:
java -version
如果配置成功,你会看到类似下面的输出,显示你安装的 JDK 版本信息:
openjdk version "17.0.10" 2025-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04, mixed mode, sharing)
检查 JAVA_HOME 变量
echo $JAVA_HOME
如果配置成功,它会输出你设置的 JDK 路径:
/usr/lib/jvm/java-17-openjdk-amd64
检查编译器 javac
javac -version
输出应为:
javac 17.0.10
如果以上三个命令都输出了正确的结果,恭喜你!你的 Java 开发环境已经成功搭建完毕。
(可选) 在 CentOS/RHEL/Fedora 系统上的操作
如果你使用的是 CentOS, RHEL, Fedora 或其他基于 Red Hat 的发行版,步骤类似,但使用的包管理器是 dnf 或 yum。
更新系统
sudo dnf update -y
安装 OpenJDK (以 JDK 17 为例)
sudo dnf install java-17-openjdk-devel -y
java-17-openjdk-devel: 在 Fedora/CentOS 中,-devel软件包包含了 JDK 的开发工具,相当于 Ubuntu 中的-jdk。
配置环境变量
同样需要设置 JAVA_HOME 和 PATH,你可以使用 alternatives 工具来查找路径:
sudo alternatives --config java
这个命令会列出所有已安装的 Java 版本,你可以选择一个作为默认。JAVA_HOME 的路径通常是 /usr/lib/jvm/java- + 你选择的版本号 + -openjdk。
如果默认版本是 java-17-openjdk,路径可能是 /usr/lib/jvm/java-17-openjdk-17.0.10.0.9-2.el9.x86_64/。
然后编辑 ~/.bashrc 或 /etc/profile 文件,添加环境变量:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.10.0.9-2.el9.x86_64 export PATH="$JAVA_HOME/bin:$PATH"
最后执行 source ~/.bashrc 或重启终端使配置生效。
总结与建议
- 版本选择:始终优先选择 LTS 版本(如 8, 11, 17, 21),它们有更长的支持周期,更适合生产环境。
- 包管理器 vs 手动安装:使用
apt或dnf等系统包管理器安装 JDK 是最简单、最推荐的方式,它会自动处理依赖,并方便你管理多个 Java 版本(通过update-java-alternatives)。 - IDE 集成:像 IntelliJ IDEA、Eclipse 这样的现代 IDE 通常能自动检测到系统安装的 JDK,你无需在 IDE 中手动配置,但如果它没有检测到,你可以手动指定你刚刚配置的
JAVA_HOME路径。 - Maven/Gradle:当你安装了 Maven 或 Gradle 后,它们会自动使用系统环境变量
JAVA_HOME来编译和运行你的项目,无需额外配置。
你已经准备好在 Linux 上进行 Java 开发了!可以尝试创建一个 HelloWorld.java 文件,编译并运行它,来庆祝一下环境的成功搭建。
