Java 21 对 Linux 系统兼容性良好,主流发行版均可支持,以下是详细的安装准备、步骤及问题排查指南。

1. 系统环境要求

表格

类别 具体要求
操作系统 Ubuntu 20.04+、Debian 11+、CentOS 8+、RHEL 8+、Fedora 36+ 等主流发行版
架构 x86_64(64 位)、AArch64(ARM 64 位,如树莓派 4)
硬件 最低 1GB 内存(推荐 2GB+)、100MB 磁盘空间(JDK 安装包约 200MB,解压后约 400MB)
2. 前置准备:修复 / 配置 YUM 源(CentOS/RHEL 系统)

YUM 源异常会导致软件下载失败,优先配置阿里云镜像源(以 CentOS 7 为例):

bash

运行

# 步骤1:备份原有 YUM 源配置文件(重要)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 步骤2:下载阿里云 CentOS 7 源配置(curl 可用时执行)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

# 若 curl 命令不存在,手动创建 repo 文件
cat > /etc/yum.repos.d/CentOS-Base.repo << EOF
[base]
name=CentOS-7 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/7/os/\$basearch/
        https://mirrors.aliyuncs.com/centos/7/os/\$basearch/
        https://mirrors.cloud.aliyuncs.com/centos/7/os/\$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-7 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/7/updates/\$basearch/
        https://mirrors.aliyuncs.com/centos/7/updates/\$basearch/
        https://mirrors.cloud.aliyuncs.com/centos/7/updates/\$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-7 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/7/extras/\$basearch/
        https://mirrors.aliyuncs.com/centos/7/extras/\$basearch/
        https://mirrors.cloud.aliyuncs.com/centos/7/extras/\$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
EOF

# 步骤3:清理并重建 YUM 缓存
yum clean all
yum makecache

# 步骤4:验证 YUM 可用性(安装测试包)
yum install -y wget

验证标准:执行后无报错,且成功安装 wget,说明 YUM 源配置完成。

3. 检查系统现有 Java 版本(避免冲突)

安装前需确认系统是否已装 Java,防止版本冲突,执行以下命令排查:

bash

运行

# 1. 检查 Java 运行时/编译器版本
java -version       # 检查 JRE 版本
javac -version      # 检查 JDK 版本(仅安装 JDK 后有输出)

# 2. 查看 Java 安装路径
which java
which javac

# 3. 查看已安装的 Java 版本(按发行版选择)
# Debian/Ubuntu 系统
update-alternatives --list java  # 输出“无替代项”表示未安装
# RHEL/CentOS 系统
alternatives --display java

若需卸载旧版本 Java(如 Java 8/11),执行对应命令:

bash

运行

# Debian/Ubuntu 卸载
sudo apt remove -y openjdk-11-jdk
# RHEL/CentOS 卸载
sudo dnf remove -y java-11-openjdk-devel
4. Java 21 安装方法

推荐优先使用包管理器安装(新手友好),也可手动安装(自定义路径)。

4.1 方法一:包管理器安装(推荐)

优势:自动处理依赖、路径配置和版本更新,以 Adoptium Temurin(基于 OpenJDK,免费开源)为例。

bash

运行

# 适用于 RHEL 8+/CentOS 8+/Fedora 36+ 系统
# 步骤1:安装依赖工具
sudo dnf install -y wget

# 步骤2:添加 Adoptium 仓库
wget -O /etc/yum.repos.d/adoptium.repo https://packages.adoptium.net/artifactory/rpm/rhel/8/x86_64/adoptium.repo

# 步骤3:更新仓库并安装 Java 21 JDK
sudo dnf update -y
sudo dnf install -y temurin-21-jdk
4.2 方法二:手动安装(Tar.gz 包)

优势:自定义安装路径,适用于无 root 权限或需精确控制版本的场景。

bash

运行

# 步骤1:下载 OpenJDK 21 包(x64 架构为例)
wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21%2B35/OpenJDK21U-jdk_x64_linux_hotspot_21_35.tar.gz -O jdk21.tar.gz

# 可选:校验文件完整性(需核对下载页的 SHA256 校验和)
sha256sum jdk21.tar.gz

# 步骤2:解压到指定目录(推荐 /usr/local/java)
sudo mkdir -p /usr/local/java
sudo tar -zxvf jdk21.tar.gz -C /usr/local/java/

# 步骤3:重命名文件夹(简化路径)
# 先查看解压后的文件夹名(示例:jdk-21+35)
ls /usr/local/java/
# 重命名为 jdk21
sudo mv /usr/local/java/jdk-21+35 /usr/local/java/jdk21

# 步骤4:设置权限
sudo chmod -R 755 /usr/local/java/jdk21

# 步骤5:配置环境变量(永久生效,所有用户)
sudo tee /etc/profile.d/java21.sh << 'EOF'
export JAVA_HOME=/usr/local/java/jdk21
export PATH=$JAVA_HOME/bin:$PATH
EOF

# 使配置立即生效
source /etc/profile.d/java21.sh
5. 安装后验证与配置
5.1 验证安装结果

bash

运行

# 检查 Java 版本(输出类似下方则安装成功)
java -version
# 预期输出:
# openjdk version "21" 2023-09-19
# OpenJDK Runtime Environment Temurin-21+35 (build 21+35)
# OpenJDK 64-Bit Server VM Temurin-21+35 (build 21+35, mixed mode, sharing)

# 检查编译器版本(仅 JDK 有输出)
javac -version
# 预期输出:javac 21
5.2 配置 JAVA_HOME(可选但推荐)

许多应用(Tomcat、Maven)依赖 JAVA_HOME 环境变量,补充配置:

bash

运行

# 对单个用户生效(Bash)
echo 'export JAVA_HOME=/usr/local/java/jdk21' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 对所有用户生效(需 root 权限)
sudo tee /etc/environment << 'EOF'
JAVA_HOME="/usr/local/java/jdk21"
EOF
source /etc/environment  # 部分系统需重启生效
6. 常见问题与解决方案

表格

问题现象 原因 解决方案
java -version 提示 “未找到命令” Java 未加入 PATH 或路径配置错误 执行 echo $PATH 检查是否包含 Java 路径,重新执行 source /etc/profile 加载环境变量
JAVA_HOME 设置后不生效 配置文件语法 / 路径错误、未重载 检查 .bashrc//etc/environment 中路径是否正确,执行 source ~/.bashrc 或重启终端
包管理器安装提示 “无法定位包” 仓库未添加 / 未更新 重新添加 Adoptium 仓库,执行 sudo dnf update(RHEL/CentOS)或 sudo apt update(Debian/Ubuntu)
手动安装后 update-alternatives 无法识别 未注册 Java 路径 执行 update-alternatives --install /usr/bin/java java /usr/local/java/jdk21/bin/java 100 注册路径

三、总结

  1. 安装前优先配置 YUM 源(CentOS/RHEL),并检查系统现有 Java 版本避免冲突;
  2. 新手推荐通过 Adoptium 仓库用包管理器安装 Java 21,手动安装需重点配置环境变量;
  3. 安装后通过 java -version 验证结果,配置 JAVA_HOME 可适配更多依赖 Java 的应用。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐