
Java 用于运行服务器、桌面应用、构建工具和开发框架。在 Ubuntu 24.04 上,你可以从标准软件源安装默认的 Java 版本,或者当应用需要当前 LTS 版本时安装 Java 25。
本指南涵盖在 Ubuntu 24.04 上安装 OpenJDK 25、OpenJDK 21 和 Oracle JDK,并讲解如何在已安装的版本之间切换,以及设置 JAVA_HOME 环境变量。
快速参考
| Task | Command |
|---|---|
| 安装 OpenJDK 25 | sudo apt install openjdk-25-jdk |
| 启用 Universe 仓库 | sudo add-apt-repository universe |
| 安装默认 JDK | sudo apt install default-jdk |
| 安装 OpenJDK 21 | sudo apt install openjdk-21-jdk |
| 检查 Java 版本 | java -version |
| 更改默认 Java | sudo update-alternatives --config java |
| 设置 JAVA_HOME | Add to /etc/environment |
| 卸载 Java 25 | sudo 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 文档。