在 Ubuntu 24.04 上安装 JDK 21(Java 21)有几种方式:使用 apt 安装、使用 Oracle 官方包、或手动安装(tar.gz)。下面我会一步步讲清楚三种常用方法。
方法一:使用 Ubuntu 官方 apt 源安装(最简单)
1. 更新软件源
sudo apt update
2. 安装 OpenJDK 21
sudo apt install openjdk-21-jdk -y
在 Ubuntu 24.04 系统上安装 JDK 21 的三种主要方式:通过 apt 源安装 OpenJDK、手动解压安装 Oracle JDK 以及使用 SDKMAN 管理多版本。同时详细说明了安装后的默认路径、JAVA_HOME 配置及版本切换方法,帮助用户快速完成环境搭建。
在 Ubuntu 24.04 上安装 JDK 21(Java 21)有几种方式:使用 apt 安装、使用 Oracle 官方包、或手动安装(tar.gz)。下面我会一步步讲清楚三种常用方法。
sudo apt update
sudo apt install openjdk-21-jdk -y

java -version
输出示例:
openjdk version "21" 2023-09-19 OpenJDK Runtime Environment (build 21+35-Ubuntu-...) OpenJDK 64-Bit Server VM (build 21+35-Ubuntu-, mixed mode)

✅ 优点:最方便、自动配置环境变量 ⚠️ 缺点:版本可能稍落后于 Oracle 官方发布
如果你需要 Oracle 原版 JDK(如运行某些特定商业软件),可以手动安装:
到 Oracle 官网下载 .tar.gz: 👉 https://www.oracle.com/java/technologies/downloads/
例如下载:
jdk-21_linux-x64_bin.tar.gz
sudo mkdir -p /usr/lib/jvm
sudo tar -xzf jdk-21_linux-x64_bin.tar.gz -C /usr/lib/jvm/
解压后路径一般为 /usr/lib/jvm/jdk-21
执行:
sudo nano /etc/profile.d/jdk21.sh
加入以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
保存退出后执行:
source /etc/profile.d/jdk21.sh
java -version
如果你想轻松切换 JDK 版本(比如 JDK 17、21 共存),推荐使用 SDKMAN:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 21-open
java -version
✅ 优点:适合开发环境、可快速切换版本 ⚠️ 缺点:不适合生产服务器环境
如果系统有多个 JDK,可以运行:
sudo update-alternatives --config java
然后选择对应的 JDK 21 路径。
安装 JDK 时,系统会自动把它安装到 /usr/lib/jvm/ 目录下。
一般情况下,安装路径是:
/usr/lib/jvm/java-21-openjdk-amd64/
你可以用以下命令确认:
ls -l /usr/lib/jvm/
输出示例:
drwxr-xr-x 8 root root 4096 Oct 20 14:02 java-17-openjdk-amd64
drwxr-xr-x 8 root root 4096 Oct 20 14:15 java-21-openjdk-amd64

所以你的 JDK 21 实际路径是:
/usr/lib/jvm/java-21-openjdk-amd64
Ubuntu 自带的 update-java-alternatives 工具可以帮你确认或切换默认 JDK:
sudo update-java-alternatives -l
示例输出:
java-17-openjdk-amd64 1711 /usr/lib/jvm/java-17-openjdk-amd64
java-21-openjdk-amd64 2100 /usr/lib/jvm/java-21-openjdk-amd64
你可以看到每个版本对应的安装路径。
在你的 shell 或部署脚本中加入:
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
验证:
echo $JAVA_HOME
java -version
虽然 JDK 安装在 /usr/lib/jvm 下,系统会在 /usr/bin/ 里建立一个符号链接:
ls -l /usr/bin/java
输出示例:
/usr/bin/java -> /etc/alternatives/java
而 /etc/alternatives/java 又指向:
/usr/lib/jvm/java-21-openjdk-amd64/bin/java

这就是 Ubuntu 的 alternatives 管理机制。如果你有多个版本,可以通过:
sudo update-alternatives --config java
切换默认 JDK。
| 项目 | 路径 |
|---|---|
| JDK 安装目录 | /usr/lib/jvm/java-21-openjdk-amd64/ |
| Java 可执行文件 | /usr/lib/jvm/java-21-openjdk-amd64/bin/java |
| 默认 java 命令(符号链接) | /usr/bin/java |
| 设置 JAVA_HOME | export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online