在 Ubuntu24.04 上安装 JDK 21(Java 21)

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

3. 验证安装

复制代码
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 21(官方原版)

如果你需要 Oracle 原版 JDK(如运行某些特定商业软件),可以手动安装:

1. 下载 Oracle JDK 21

到 Oracle 官网下载 .tar.gz

👉 https://www.oracle.com/java/technologies/downloads/

例如下载:

复制代码
jdk-21_linux-x64_bin.tar.gz

2. 解压并放到合适目录

复制代码
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

3. 配置环境变量

执行:

复制代码
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

4. 验证安装

复制代码
java -version

⚙️ 方法三:使用 SDKMAN 安装(适合多版本共存)

如果你想轻松切换 JDK 版本(比如 JDK 17、21共存),推荐使用 SDKMAN

1. 安装 SDKMAN

复制代码
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

2. 安装 JDK 21

复制代码
sdk install java 21-open

3. 验证

复制代码
java -version

优点 :适合开发环境、可快速切换版本

⚠️ 缺点:不适合生产服务器环境


🔍 查看与切换 JDK 版本

如果系统有多个 JDK,可以运行:

复制代码
sudo update-alternatives --config java

然后选择对应的 JDK 21 路径。

通过sudo apt install openjdk-21-jdk -y安装的JDK,安装在哪里?

安装 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 实际路径是:cd

复制代码
/usr/lib/jvm/java-21-openjdk-amd64

🧩 二、查看 JAVA_HOME

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

你可以看到每个版本对应的安装路径。


⚙️ 三、设置 JAVA_HOME(如果你想显式指定)

在你的 shell 或部署脚本中加入:

复制代码
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

验证:

复制代码
echo $JAVA_HOME
java -version

🧱 四、默认 Java 命令路径

虽然 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

相关推荐
一路向北North1 分钟前
Spring AI(6) :对话机器人-会话历史
java·人工智能·spring
mayaairi27 分钟前
JS数组完全指南(含十大操作详解)
开发语言·前端·javascript
j7~29 分钟前
【数据结构初阶】队列的实现(链式队列 + 循环队列)--详解
c语言·开发语言·数据结构·学习·队列·queue·c\c++
RuoyiOffice39 分钟前
超级个体接私活必看:后端+前端+移动端三端一体企业管理系统怎么选(2026)
java·spring boot·vue·uniapp·全栈·企业管理·接私活
king_linlin1 小时前
算法基础——算法复杂度
c语言·开发语言·数据结构·算法
二十雨辰1 小时前
[爬虫]-解析
开发语言·python
zzq77971 小时前
Android 16 API 36 升级后 APP 加固兼容性问题解析
android·开发语言·安全·kotlin·安卓·安全架构
java1234_小锋1 小时前
【免费】基于Spark实时电商用户行为分析与预测(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
java·spark·kafka·实时电商用户行为分析与预测系统
keyipatience1 小时前
日志和线程池
java·开发语言
码云数智-园园1 小时前
建站平台有哪些?建站工具怎么选
开发语言