跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Ubuntu 24.04 安装 JDK 21 三种方案详解

综述由AI生成Ubuntu 24.04 系统下配置 JDK 21 环境主要有 apt 安装、Oracle 官方包及 SDKMAN 三种方式。apt 方案最便捷但版本可能滞后;Oracle 包适合特定商业需求;SDKMAN 便于多版本管理。文章还详细说明了 JDK 安装目录路径、环境变量配置及版本切换命令,帮助开发者快速完成环境搭建与验证。

魔尊发布于 2026/3/15更新于 2026/6/1118 浏览

在 Ubuntu 24.04 环境下配置 Java 开发环境,JDK 21 是个不错的选择。通常有三种主流方式:直接使用系统包管理器、手动部署 Oracle 官方包,或者借助 SDKMAN 进行版本管理。下面咱们一步步拆解这三种方案的实操细节。

方案一:通过 apt 安装 OpenJDK

这是最省心的办法,适合大多数开发场景。系统会自动处理依赖和环境变量。

首先更新软件源列表,确保能获取到最新版本信息:

sudo apt update

接着安装 OpenJDK 21:

sudo apt install openjdk-21-jdk -y

安装完成后,直接检查版本即可:

java -version

如果看到类似 openjdk version "21" 的输出,说明安装成功。这种方式最大的好处是方便,自动配置好了环境变量;不过缺点是版本可能比 Oracle 官网发布的稍慢一些,适合追求稳定的生产环境。

方案二:手动安装 Oracle JDK 21

如果你需要 Oracle 原版 JDK,比如为了运行某些特定的商业软件,那就得手动来。

先去 Oracle 官网下载 .tar.gz 安装包。例如 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 目录下。

接下来配置环境变量。编辑 /etc/profile.d/jdk21.sh:

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 验证一下。

方案三:使用 SDKMAN 管理版本

如果你是多版本共存的重度用户,比如需要在 JDK 17 和 21 之间频繁切换,SDKMAN 是个好帮手。

先安装 SDKMAN:

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

然后安装 JDK 21:

sdk install java 21-open

验证方式同上。这招适合本地开发环境,能快速切版本;但在生产服务器上建议还是用前两种更稳妥的方式。

环境验证与路径管理

安装完 JDK 后,很多开发者会关心文件到底装在哪,以及怎么确认默认版本。

1. 查找安装位置 通过 apt 安装的 OpenJDK 默认位于 /usr/lib/jvm/ 下。你可以列出该目录查看具体版本文件夹:

ls -l /usr/lib/jvm/

通常会看到类似 java-21-openjdk-amd64 的目录,这就是实际的安装路径。

2. 查看与切换默认版本 系统里如果有多个 JDK,可以用 update-alternatives 工具管理:

sudo update-alternatives --config java

这会列出所有已注册的 Java 实现,输入对应编号即可切换默认版本。

3. 显式设置 JAVA_HOME 有些构建工具依赖明确的 JAVA_HOME 变量。你可以在 shell 配置文件(如 ~/.bashrc)中添加:

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

这样每次打开终端都能自动识别。

4. 符号链接机制 虽然 JDK 本体在 /usr/lib/jvm,但系统会在 /usr/bin/java 建立符号链接指向它。这也是为什么你不需要把路径加进 $PATH 就能直接运行 java 命令的原因。理解这个机制有助于排查'找不到 java'的问题。

总结下来,日常开发推荐用 apt 或 SDKMAN,特殊需求再考虑手动安装 Oracle 包。无论哪种方式,记得验证 java -version 和 JAVA_HOME 是否按预期工作。

目录

  1. 方案一:通过 apt 安装 OpenJDK
  2. 方案二:手动安装 Oracle JDK 21
  3. 方案三:使用 SDKMAN 管理版本
  4. 环境验证与路径管理
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 回溯算法核心原理与 Java 实现详解
  • GitNexus 核心引擎深度解析
  • AgentScope Java 实战:构建 AI 奶茶店应用
  • Windows 环境下 Git 安装与配置指南
  • HTML Popover API 实战:用原生属性替代 JS 组件库实现浮层交互
  • 大模型幻觉成因分析与治理方案
  • AI 时代创作者成长指南:从工具使用到技术变现
  • LLaMA-Factory 合并 LoRA 适配器完整指南
  • 贪心算法进阶:摆动序列、递增三元组及股票买卖实战
  • LeetCode 热题 100 快速通关指南与核心算法模板
  • AI 大模型驱动的软件开发全流程变革:从需求到运维
  • RxJava 源码深度解析:订阅流程与线程切换原理
  • Linux 远程服务器直接下载 HuggingFace 模型与数据集
  • AI 驱动 PCB 设计:对话式工具的效率与边界分析
  • 前缀和算法实战:区间乘积与整除子数组
  • LLaMA-Factory 大模型高效微调实战指南
  • LeetCode 92 链表区间反转:递归与哨兵节点实战
  • 深度确定性策略梯度算法 (DDPG) 详解与实现
  • Java 高性能开发实战:Redis 7 持久化机制详解
  • AI 产品经理全流程工作指南:从需求定义到模型验收

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online