Java 是一种流行的编程语言,用于构建应用程序和软件解决方案。它可以在所有主流操作系统和设备上运行。
本指南介绍如何在 Ubuntu 22.04 上安装 OpenJDK 和 Oracle JDK。
快速参考
| 任务 | 命令 |
|---|---|
| 安装默认 JDK | sudo apt install default-jdk |
| 安装 OpenJDK 17 | sudo apt install openjdk-17-jdk |
| 安装 OpenJDK 21 | sudo apt install openjdk-21-jdk |
| 检查 Java 版本 | java -version |
| 更改默认 Java | sudo update-alternatives --config java |
| 设置 JAVA_HOME | 添加到 /etc/environment |
| 卸载 Java | sudo apt remove openjdk-17-jdk |
开始之前
Java 有多种不同的实现。OpenJDK 和 Oracle JDK 是 Java 的两种主要实现,它们之间几乎没有或完全没有差异,功能上几乎相同。主要区别在于 OpenJDK 是一个开源项目,而 Oracle JDK 需要付费许可证,或者仅允许将软件用于非商业用途,例如开发或个人使用。此外,Oracle JDK 还有一些 OpenJDK 所不具备的额外商业功能。
Ubuntu 22.04 的默认软件仓库包含两个 OpenJDK 软件包:Java 运行时环境(JRE)和 Java 开发工具包(JDK)。JRE 由 Java 虚拟机(JVM)、类以及允许你运行 Java 程序的二进制文件组成。JDK 包含 JRE 以及构建 Java 应用程序所需的开发/调试工具和库。
如果你不确定应该安装哪个 Java 软件包,一般建议安装默认的 OpenJDK 版本。不过,某些应用程序可能需要特定版本,因此请查阅应用程序文档。
在 Ubuntu 中安装 OpenJDK
在安装 Java 之前,你可以通过输入以下命令来检查系统中是否已经安装了 Java:
终端java -version如果系统中未安装 Java,上述命令的输出会告诉你找不到 java 命令。否则,它会打印已安装的 Java 版本。
安装新软件包时,你应该始终先以具有 sudo 权限的用户或 root 身份运行以下命令来刷新本地软件包索引:
终端sudo apt updateJava 当前的长期支持(LTS)版本包括:8、11、17、21 和 25。Ubuntu 22.04 中的默认 Java 是 Java 17,可通过安装 default-jdk 软件包获得。
执行以下命令以安装 OpenJDK 17 版本:
终端sudo apt install openjdk-17-jdk信息如果你想安装其他版本,请替换版本号。例如,如果你的应用程序需要 Java 11,请安装 openjdk-11-jdk 软件包。安装完成后,你可以通过检查 Java 版本来验证:
终端java -version输出应类似如下:
输出openjdk version "17.0.14" 2025-01-21
OpenJDK Runtime Environment (build 17.0.14+7-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.14+7-Ubuntu-0ubuntu122.04, mixed mode, sharing)就是这样!你已成功在 Ubuntu 机器上安装了 Java。
JRE 包含在 JDK 软件包中。如果你只需要 JRE,请安装 openjdk-17-jre 软件包。如需最小化的 Java 运行时,请安装 openjdk-17-jdk-headless 软件包。
在 Ubuntu 中安装 Oracle Java
Oracle JDK 软件包不在 Ubuntu 默认软件仓库中提供。如果由于某些原因,你的应用程序需要 Oracle Java,你可以通过从 Oracle 网站下载文件,或使用第三方软件仓库(例如 Linux Uprising PPA)来安装 Oracle Java。在本示例中,我们将从 Oracle 网站下载 Debian 软件包。
访问 Oracle Java Archive 网站,并打开你所需 Java 版本的下载页面。

我们将下载并安装版本 21。从文件列表中点击 Linux x64 Debian Package 以下载 .deb 软件包。

如果你是在服务器上安装 Java,请使用 wget 命令下载文件。右键单击链接以复制地址,并将其粘贴到 wget 之后:
wget https://download.oracle.com/java/21/archive/jdk-21.0.1_linux-x64_bin.deb文件下载完成后,执行以下命令在系统中安装 Oracle JDK:
终端sudo apt install ./jdk-21.0.1_linux-x64_bin.deb如果你下载的是其他 Java 版本,请替换上述命令中的文件名。
设置默认 Java 版本
在调试、构建或运行基于 Java 的应用程序时,默认会使用 Java 的默认版本。如果你的 Ubuntu 系统中安装了多个 Java 版本,你可以通过输入以下命令来检查哪个版本被设置为默认版本:
终端java -version要更改默认版本,请使用 update-alternatives 命令:
sudo update-alternatives --config java你将看到所有已安装 Java 版本的列表。例如,如果你安装了 OpenJDK 11、17 和 Oracle JDK 21,输出将类似如下:
输出There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/jdk-21-oracle-x64/bin/java 352329728 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
3 /usr/lib/jvm/jdk-21-oracle-x64/bin/java 352329728 manual mode
Press <enter> to keep the current choice[*], or type selection number: 输入你希望用作默认版本的编号,然后按 Enter。
通过执行以下命令验证默认版本是否已更改:
终端java -version设置 JAVA_HOME 环境变量
某些 Java 应用程序使用 JAVA_HOME 环境变量来确定 JDK 的安装位置。
要设置 JAVA_HOME 变量,首先使用 update-alternatives 查找 Java 安装路径:
sudo update-alternatives --config java在本示例中,不同 java 二进制文件的路径如下:
- Oracle JDK 21 位于
/usr/lib/jvm/jdk-21-oracle-x64/bin/java - OpenJDK 17 位于
/usr/lib/jvm/java-17-openjdk-amd64/bin/java - OpenJDK 11 位于
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
JAVA_HOME/bin/java。因此,我们应该将 JAVA_HOME 设置为上述路径之一,但不包括 bin/java 部分。找到你首选 Java 安装的路径后,打开 /etc/environment 文件:
sudo nano /etc/environment假设你想将 JAVA_HOME 设置为指向 OpenJDK 17,请在文件末尾添加以下行:
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"若要使更改在当前会话中生效,你可以注销后重新登录,或运行以下 source 命令:
终端source /etc/environment要验证 JAVA_HOME 环境变量是否已正确设置,请输入:
echo $JAVA_HOME你应该会看到 Java 安装的路径:
输出/usr/lib/jvm/java-17-openjdk-amd64信息/etc/environment 是一个系统级配置文件,供所有用户使用。如果你想按用户设置 JAVA_HOME 变量,请将该行添加到 .bashrc 或用户登录时加载的任何其他配置文件中。卸载 Java
你可以像卸载任何其他通过 apt 安装的软件包一样卸载 Java。
例如,要卸载 openjdk-17-jdk 软件包,请输入:
sudo apt remove openjdk-17-jdk