在 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

相关推荐
言乐614 小时前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame
xbgRS14 小时前
springboot的自动装配
java·spring boot
嘻哈∠※21 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
WWJA王文举21 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha13141 天前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
白狐_7981 天前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2581 天前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅1 天前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
qq_448011161 天前
C语言中的动态内存分配
c语言·开发语言·php
汉字萌萌哒1 天前
2024CSP-J入门级C++真题详解
开发语言·c++