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

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

快速参考

任务命令
安装 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_HOME添加到 /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 使用 Java 21 作为 default-jdk 软件包,但 Ubuntu Universe 存储库也提供 Java 25。如果您不确定要安装哪个 Java 软件包,请先查看应用程序文档。当您的应用程序需要该版本时选择 Java 25,并坚持使用 Java 21 以与 Ubuntu 24.04 的默认设置保持兼容。

在 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

信息Ubuntu 24.04 上的 default-jdk 软件包安装的是 Java 21,而不是 Java 25。需要 Java 25 时请显式安装 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

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

在 Ubuntu 中安装 Oracle Java

Oracle JDK 不在默认 Ubuntu 存储库中提供。您可以通过从 Oracle 下载 .deb 软件包来安装它。

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

在本示例中,我们将下载并安装 Java 25,因为它是当前的 LTS 版本。Oracle 还提供更新的特性版本,因此请选择您需要的版本的 Linux x64 Debian 软件包。

java 25

如果您在服务器上安装,请使用 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 <enter> to keep the current choice[*], or type selection number:

输入您想设为默认的版本的编号并按 Enter。

Java 编译器具有单独的 alternatives。为 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

信息Java 二进制文件位于 JAVA_HOME/bin/java。将 JAVA_HOME 设置为上述路径,不包括 bin/java 部分。Oracle 目录名称包含完整的版本号,因此在复制路径之前请予以确认。

打开 /etc/environment 文件:

终端

sudo nano /etc/environment

添加以下行(根据您的首选版本调整路径):

/etc/environmenttxt

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 启动的程序。注销并重新登录以在其他登录会话中获取系统范围的设置。

信息/etc/environment 是系统范围的。要为每个用户设置 JAVA_HOME,请将 export JAVA_HOME="/usr/lib/jvm/java-25-openjdk-amd64" 添加到 ~/.bashrc 或另一个 shell 配置文件,并根据您首选的 JDK 调整路径。加载该文件或打开新终端以应用它。

故障排除

无法找到软件包 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 后仍显示版本 21
Java 21 可能仍被选为默认替代方案。运行 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 目录。如果 Java 21 仍被选为您的 PATH,请按照上述方法切换 java 和 javac 替代方案。对于 Gradle,还需检查 org.gradle.java.home 和 gradle/gradle-daemon-jvm.properties,因为这些设置可以为构建选择不同的 JVM。

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

卸载 Java

像卸载任何其他包一样卸载 Java:

终端

sudo apt remove openjdk-25-jdk

将包名称替换为您要移除的版本。