方法概览
| 方法 | 优点 | 缺点 | 推荐人群 |
|---|---|---|---|
| 使用 APT 包管理器 (OpenJDK) | 最简单、最快速,系统会自动处理依赖关系,方便升级和卸载。 | 默认安装的是 OpenJDK,非 Oracle JDK,版本可能不是最新的 LTS 版本。 | 初学者、大多数开发者、需要快速部署的开发者。 |
| 手动下载安装 (Oracle JDK / Adoptium Temurin) | 可以获得最新的 LTS 版本或特定版本,选择多(如 Oracle JDK, Eclipse Temurin 等)。 | 过程繁琐,需要手动配置环境变量,不同版本管理不便。 | 需要特定商业 JDK、需要最新特性或特定版本的开发者。 |
| 使用 SDKMAN! (版本管理器) | 最佳实践,可以轻松安装、切换和管理多个 Java 版本。 | 需要先安装 SDKMAN! 本身。 | 需要频繁切换 Java 版本的开发者,如同时开发需要 JDK 8 和 JDK 21 的项目。 |
使用 APT 包管理器安装 OpenJDK (最推荐)
这是最简单、最常用的方法,适合绝大多数情况,我们以安装 OpenJDK 17 (当前最新的 LTS 版本) 为例。

步骤 1: 更新软件包列表
在安装任何新软件之前,首先更新你的系统包列表,确保你能获取到最新的软件包信息。
sudo apt update
步骤 2: 安装 OpenJDK
使用 apt 命令安装 OpenJDK,你可以安装不同的版本,如 openjdk-8-jdk, openjdk-11-jdk, openjdk-17-jdk, openjdk-21-jdk 等。
安装 OpenJDK 17 (推荐 LTS 版本):
sudo apt install openjdk-17-jdk
如果你需要其他版本,替换命令中的版本号即可,

# 安装 OpenJDK 11 (另一个 LTS 版本) sudo apt install openjdk-11-jdk # 安装最新的 OpenJDK 21 sudo apt install openjdk-21-jdk
安装过程中,系统会自动下载并安装 JDK 以及相关的开发工具(如 javac, javadoc 等)。
步骤 3: 验证安装
安装完成后,你可以通过以下命令来验证 Java 是否已成功安装以及查看其版本。
# 查看版本号 java -version # 查看编译器版本 (javac 是 Java 编译器) javac -version
预期输出:
openjdk version "17.0.x" 2025-xx-xx
OpenJDK Runtime Environment (build 17.0.x+xx-Ubuntu-...)
OpenJDK 64-Bit Server VM (build 17.0.x+xx-Ubuntu-..., mixed mode, sharing)
如果你看到了类似上面的输出,说明安装成功了!

步骤 4: (可选) 设置环境变量 JAVA_HOME
有些应用程序(如 Maven, Tomcat, Spring Boot CLI)需要 JAVA_HOME 环境变量来定位 JDK 的安装路径。
查找 JDK 安装路径
OpenJDK 通常安装在 /usr/lib/jvm/ 目录下,你可以使用 update-java-alternatives 命令来查看所有已安装的 Java 版本及其路径:
sudo update-java-alternatives --list
输出可能如下:
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-11-openjdk-amd64 1911 /usr/lib/jvm/java-11-openjdk-amd64
java-17-openjdk-amd64 2043 /usr/lib/jvm/java-17-openjdk-amd64
选择你想要设置的版本,java-17-openjdk-amd64,它的路径是 /usr/lib/jvm/java-17-openjdk-amd64。
设置 JAVA_HOME
编辑你的 ~/.bashrc 文件(对当前用户生效)或 /etc/environment 文件(对所有用户生效)。
方法 A: 仅对当前用户生效
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc source ~/.bashrc
请将路径替换为你自己查看到的路径。
方法 B: 对所有用户生效 (需要管理员权限)
# 使用你喜欢的编辑器,如 nano sudo nano /etc/environment
在文件末尾添加以下内容(同样,路径要正确):
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
保存文件 (在 nano 中是 Ctrl+X, 然后按 Y, 再按 Enter)。
验证 JAVA_HOME
echo $JAVA_HOME
如果正确输出你设置的路径,则配置成功。
手动下载安装 (以 Adoptium Temurin 为例)
如果你需要特定版本(如 Oracle JDK)或最新的非官方版本,可以手动下载安装。
步骤 1: 访问官网下载
访问 Adoptium (前身是 AdoptOpenJDK) 官网:https://adoptium.net/ 选择你需要的版本(如 Temurin JDK)、操作系统(x64 Linux Tar Gzip)并下载。
步骤 2: 解压文件
假设你下载的文件是 OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz,并且你希望将它安装在 /usr/local/java 目录下。
# 创建目标目录 sudo mkdir -p /usr/local/java # 解压文件到目标目录 (请替换文件名为你下载的文件名) sudo tar -zxvf ~/Downloads/OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz -C /usr/local/java/ # (可选) 为解压后的目录创建一个更友好的链接 sudo ln -s /usr/local/java/jdk-21.0.2+13 /usr/local/java/latest
步骤 3: 配置环境变量
这是最关键的一步,你需要编辑 ~/.bashrc 文件。
nano ~/.bashrc
在文件末尾添加以下内容:
# Java Environment Variables export JAVA_HOME=/usr/local/java/latest export PATH=$PATH:$JAVA_HOME/bin
保存并退出。
步骤 4: 应用配置并验证
# 使 .bashrc 配置立即生效 source ~/.bashrc # 验证安装 java -version javac -version echo $JAVA_HOME
使用 SDKMAN! (高级用户推荐)
SDKMAN! 是一个 SDK 管理工具,可以让你轻松地在多个 Java 版本之间切换。
步骤 1: 安装 SDKMAN!
打开终端,执行以下命令:
curl -s "https://get.sdkman.io" | bash
安装完成后,打开一个新的终端窗口,或者运行以下命令使配置生效:
source "$HOME/.sdkman/bin/sdkman-init.sh"
步骤 2: 使用 SDKMAN! 安装 Java
现在你可以用一条命令安装任何你想要的 Java 版本。
安装最新的 LTS 版本 (Java 21):
sdk install java 21.0.2-tem
tem 代表 Eclipse Temurin,这是一个高质量的开源 JDK,你也可以安装其他发行版,如 oracle, liberica 等。
步骤 3: 切换 Java 版本
这是 SDKMAN! 最强大的功能,你可以轻松地在已安装的版本之间切换。
查看所有已安装的 Java 版本:
sdk list java
你会看到一个列表,前面有 号的是当前使用的版本。
切换到 Java 17:
sdk use java 17.0.8-tem
设置为默认版本:
sdk default java 17.0.8-tem
总结与建议
- 对于新手和大多数日常开发:强烈推荐使用方法一(APT 安装 OpenJDK),它简单、可靠,且与系统集成得最好。
- 对于需要频繁切换 Java 版本的开发者:强烈推荐学习并使用方法三(SDKMAN!),一旦你习惯了它,管理 Java 版本将变得无比轻松。
- 对于有特定商业需求或使用 Oracle JDK 的项目:使用方法二(手动安装),但请注意手动管理环境变量和版本切换的复杂性。
希望这份详细的指南能帮助你成功在 Ubuntu 上安装 Java JDK!
