在ubuntu 22.04上需手动安装temurin jdk 21,因官方apt源不提供;下载对应架构的tar.gz包,解压至/usr/lib/jvm并重命名为temurin-21-jdk-amd64,再通过update-alternatives注册java/javac/javadoc命令,最后配置java_home与path并验证。

在Ubuntu 22.04上安装Temurin JDK 21(Eclipse Temurin是OpenJDK的主流生产级构建,由Adoptium项目维护),需绕过apt默认源——因为Ubuntu官方仓库不提供Temurin,只含OpenJDK。手动安装虽多一步,但能确保获得LTS认证、经CI验证、带完整调试符号和性能补丁的JDK 21构建。
下载Temurin JDK 21二进制包
打开终端,执行以下命令直接下载最新稳定版JDK 21(截至2026年8月,最新为21.0.11+10):
wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.11_10.tar.gz
注意:该链接为amd64架构通用地址;若用ARM64设备(如Mac M系列虚拟机或树莓派),请改用jdk_aarch64_linux_hotspot后缀版本。下载失败时可访问https://www.php.cn/link/11b465ec6e2e00fbe0397fc8f78230d0手动选择对应平台的tar.gz文件。
解压并移至系统标准路径
创建统一管理目录:
sudo mkdir -p /usr/lib/jvm
解压到临时位置并确认顶层目录名:
tar -zxvf OpenJDK21U-jdk_x64_linux_hotspot_21.0.11_10.tar.gz && ls -F | grep jdk
你会看到类似jdk-21.0.11+10/的目录。将其整体移入/usr/lib/jvm/并重命名为规范路径:
sudo mv jdk-21.0.11+10 /usr/lib/jvm/temurin-21-jdk-amd64
【必须执行此重命名】——update-alternatives依赖固定命名格式识别JDK实例,含补丁号(如+10)的原始目录名会导致后续注册失败。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
注册到update-alternatives系统
Temurin JDK不含apt包元数据,必须手动注册java、javac、javadoc等命令入口,否则IDE和Maven将无法识别:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/temurin-21-jdk-amd64/bin/javac 1
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/temurin-21-jdk-amd64/bin/javadoc 1
注册完成后,立即切换为当前默认:
sudo update-alternatives --config java → 按提示输入对应编号(通常为1)回车
sudo update-alternatives --config javac → 同样选同一编号
sudo update-alternatives --config javadoc → 同步操作
配置JAVA_HOME与PATH(用户级生效)
编辑当前用户shell配置文件:
echo 'export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
立即加载新环境变量:
source ~/.bashrc
验证是否全部就绪:
java -version → 应输出包含“Eclipse Temurin”字样的21.0.11版本信息
javac -version → 输出一致版本号
echo $JAVA_HOME → 显示/usr/lib/jvm/temurin-21-jdk-amd64










