在 Ubuntu 24.04 上安装 Java:OpenJDK 25/21 与 Oracle JDK(默认版本、JAVA_HOME 实战)

Java 用于运行服务器、桌面应用、构建工具和开发框架。在 Ubuntu 24.04 上,你可以从标准软件源安装默认的 Java 版本,或者当应用需要当前 LTS 版本时安装 Java 25。

本指南涵盖在 Ubuntu 24.04 上安装 OpenJDK 25、OpenJDK 21 和 Oracle JDK,并讲解如何在已安装的版本之间切换,以及设置 JAVA_HOME 环境变量。

快速参考

TaskCommand
安装 OpenJDK 25sudo apt install openjdk-25-jdk
启用 Universe 仓库sudo add-apt-repository universe
安装默认 JDKsudo apt install default-jdk
安装 OpenJDK 21sudo apt install openjdk-21-jdk
检查 Java 版本java -version
更改默认 Javasudo update-alternatives --config java
设置 JAVA_HOMEAdd to /etc/environment
卸载 Java 25sudo apt remove openjdk-25-jdk

开始之前

有多种 Java 实现可供选择。OpenJDK 和 Oracle JDK 是两种最常见的选择。OpenJDK 是开源的,也是 Ubuntu 中的默认选项。Oracle JDK 由 Oracle 分发并拥有自己的许可条款,因此在生产环境中使用前请先查看当前许可。

Ubuntu 24.04 的软件源包含 Java 运行时环境(JRE)和 Java 开发工具包(JDK)的 OpenJDK 软件包。JRE 包含运行 Java 程序所需的 Java 虚拟机(JVM)和库。JDK 在 JRE 基础上增加了构建 Java 应用的开发工具。

Ubuntu 24.04 的 default-jdk 软件包使用 Java 21,但 Java 25 也可从 Ubuntu Universe 软件源获得。如果不确定要安装哪个 Java 软件包,请先查看应用文档。当应用需要该版本时使用 Java 25,为了与 Ubuntu 24.04 默认版本兼容则坚持使用 Java 21。

在 Ubuntu 中安装 OpenJDK

检查 Java 是否已安装:

java -version

如果 Java 未安装,输出会告诉你命令未找到。否则会显示已安装的版本。

更新软件包索引:

sudo apt update

Java 25 是当前长期支持(LTS)版本。在 Ubuntu 24.04 上,openjdk-25-jdk 软件包来自 Universe 仓库,并且发布在 noble-updates 口袋而非原始 24.04 发布口袋。如果你的系统找不到该软件包,请启用 Universe 并刷新软件包索引。如果仍不可用,请按故障排查一节检查你的仓库配置:

sudo add-apt-repository universe

sudo apt update

安装 OpenJDK 25:

sudo apt install openjdk-25-jdk

验证安装:

java -version
openjdk version "25.0.4" 2026-07-21
OpenJDK Runtime Environment (build 25.0.4+7-1-24.04-Ubuntu)
OpenJDK 64-Bit Server VM (build 25.0.4+7-1-24.04-Ubuntu, mixed mode, sharing)

JRE 已包含在 JDK 软件包中。如果只需要 JRE,请安装 openjdk-25-jre 软件包。对于不包含图形依赖的最小 Java 运行时,请安装 openjdk-25-jre-headless 软件包。

安装 Java 21 替代方案

Java 21 是 Ubuntu 24.04 中的默认 Java 版本,对于尚未支持 Java 25 的应用仍然是不错的选择。要安装默认 JDK,运行:

sudo apt install default-jdk

你也可以直接安装 OpenJDK 21:

sudo apt install openjdk-21-jdk

要安装其他可用版本,请替换版本号。例如,使用 openjdk-17-jdk 安装 Java 17。

在 Ubuntu 中安装 Oracle Java

Oracle JDK 不在默认的 Ubuntu 仓库中。你可以通过从 Oracle 下载 .deb 软件包来安装它。

访问 Oracle Java 下载页面并选择你需要的版本。

在本示例中,我们将下载并安装 Java 25,因为它是当前的 LTS 版本。Oracle 也提供更新的特性发布版本,因此请为所需版本选择 Linux x64 Debian Package。

如果你在服务器上安装,请使用 wget 下载文件:

wget https://download.oracle.com/java/25/latest/jdk-25_linux-x64_bin.deb

安装该软件包:

sudo apt install ./jdk-25_linux-x64_bin.deb

如果你下载了其他版本,请替换文件名。

设置默认 Java 版本

如果你安装了多个 Java 版本,请检查当前的默认版本:

java -version

在自动模式下,安装具有更高 alternatives 优先级的 JDK 会改变默认值。在手动模式下,你选择的版本会被保留。

使用 update-alternatives 更改默认版本:

sudo update-alternatives --config java

你会看到已安装 Java 版本的列表:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/jdk-25.0.4.1-oracle-x64/bin/java   419464192 auto mode
  1            /usr/lib/jvm/java-21-openjdk-amd64/bin/java     2111      manual mode
  2            /usr/lib/jvm/java-25-openjdk-amd64/bin/java     2511      manual mode
  3            /usr/lib/jvm/jdk-25.0.4.1-oracle-x64/bin/java   419464192 manual mode

Press  to keep the current choice[*], or type selection number:

输入你想设为默认的版本对应的编号,然后按 Enter。

Java 编译器有单独的 alternative。为 javac 选择相同的 JDK 版本:

sudo update-alternatives --config javac

验证运行时和编译器都使用你选择的版本:

java -version

javac -version

设置 JAVA_HOME 环境变量

一些 Java 应用使用 JAVA_HOME 环境变量来确定 JDK 的位置。

首先,找到 Java 安装路径:

sudo update-alternatives --config java

这些路径是:

• Oracle JDK 25 位于 /usr/lib/jvm/jdk-25.0.4.1-oracle-x64/bin/java • OpenJDK 25 位于 /usr/lib/jvm/java-25-openjdk-amd64/bin/java • OpenJDK 21 位于 /usr/lib/jvm/java-21-openjdk-amd64/bin/java • OpenJDK 17 位于 /usr/lib/jvm/java-17-openjdk-amd64/bin/java

打开 /etc/environment 文件:

sudo nano /etc/environment

添加以下行(为你偏好的版本调整路径):

JAVA_HOME="/usr/lib/jvm/java-25-openjdk-amd64"

将更改应用到当前 shell 并导出该变量,以便子进程可以读取它:

source
 /etc/environment

export
 JAVA_HOME

验证该变量已导出:

printenv JAVA_HOME
/usr/lib/jvm/java-25-openjdk-amd64

该路径现在可供从该 shell 启动的程序使用。注销并重新登录,让其他登录会话获取这个系统级设置。

故障排查

Unable to locate package openjdk-25-jdk——Java 25 软件包位于 Ubuntu Universe 仓库。启用 Universe、更新软件包索引,然后重试:

sudo add-apt-repository universe

sudo apt update

sudo apt install openjdk-25-jdk

如果 APT 仍然找不到该软件包,请检查 /etc/apt/sources.list.d/ubuntu.sources。对于标准的 Ubuntu 24.04 源,Ubuntu 归档的 Suites: 行应包含 noble-updates,Components: 应包含 universe。如果你的系统使用 /etc/apt/sources.list 或 .list 文件,请检查 noble-updates 条目是否包含 universe。纠正配置后,运行 sudo apt update 并重试安装。

安装 Java 25 后 Java 仍然显示版本 21——Java 21 可能仍被选为默认 alternative。运行 sudo update-alternatives --config java,选择 Java 25 路径,然后用 java -version 再次检查。

构建工具报告必须将 Java 21 替换为 25 或更高版本——构建工具可能使用的是与 java -version 所选不同的 JDK。在你的项目目录中用 mvn -v(Maven)或 ./gradlew --version(Gradle)检查。将 JAVA_HOME 设置并导出到 Java 25 JDK 目录。如果你的 PATH 上仍选择了 Java 21,请按上述方法切换 java 和 javac 的 alternatives。对于 Gradle,还要检查 org.gradle.java.home 和 gradle/gradle-daemon-jvm.properties,因为这些设置可以为构建选择不同的 JVM。

JAVA_HOME 指向了错误的 Java 版本——用 sudo update-alternatives --config java 检查所选的 Java 路径。将 JAVA_HOME 设置为 JDK 目录(不带 /bin/java 后缀),例如 /usr/lib/jvm/java-25-openjdk-amd64。

卸载 Java

像卸载其他软件包一样卸载 Java:

sudo apt remove openjdk-25-jdk

将软件包名称替换为你想要移除的版本。

结论

如果你管理面向不同 Java 版本的项目,请并排安装多个 JDK 并用 update-alternatives 在它们之间切换。Maven 和 Gradle 等构建工具会读取 JAVA_HOME,因此当项目固定到特定版本时请显式设置它。

有关发布说明和语言变更,请参阅官方 OpenJDK 文档。