步骤 1:更新系统并安装基础工具
sudo dnf update -y
sudo dnf install -y wget tar
步骤 2:安装 JDK 8、11、17(通过默认仓库)
# JDK 8
sudo dnf install -y java-1.8.0-openjdk-devel
# JDK 11
sudo dnf install -y java-11-openjdk-devel
# JDK 17
sudo dnf install -y java-17-openjdk-devel
# JDK 21
sudo dnf install -y java-21-openjdk-devel
验证 JDK 安装
# 检查所有 JDK
ls /usr/lib/jvm/
# 应该看到:
# java-1.8.0-openjdk-1.8.0.372
# java-11-openjdk-11.0.19
# java-17-openjdk-17.0.10
# java-21-openjdk-21.0.2
配置多 JDK 版本管理(使用 alternatives)
# 1. 注册 JDK 8
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372/bin/java 8
# 2. 注册 JDK 11
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-11.0.19/bin/java 11
# 3. 注册 JDK 17
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-17.0.10/bin/java 17
# 4. 注册 JDK 21
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-21.0.2/bin/java 21
# 5. 切换版本
sudo alternatives --config java
✅ 执行后,系统会显示版本列表,输入对应数字即可切换
完整 JDK 版本对照表
| JDK 版本 | 包名 | 安装命令 | 路径 |
|---|---|---|---|
| JDK 8 | java-1.8.0-openjdk-devel |
sudo dnf install -y java-1.8.0-openjdk-devel |
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372/bin/java |
| JDK 11 | java-11-openjdk-devel |
sudo dnf install -y java-11-openjdk-devel |
/usr/lib/jvm/java-11-openjdk-11.0.19/bin/java |
| JDK 17 | java-17-openjdk-devel |
sudo dnf install -y java-17-openjdk-devel |
/usr/lib/jvm/java-17-openjdk-17.0.10/bin/java |
| JDK 21 | java-21-openjdk-devel |
sudo dnf install -y java-21-openjdk-devel |
/usr/lib/jvm/java-21-openjdk-21.0.2/bin/java |
一键安装脚本(完整版)
#!/bin/bash
# Alibaba Cloud Linux 3 JDK 8/11/17/21 安装脚本
# 1. 更新系统
sudo dnf update -y
# 2. 安装基础工具
sudo dnf install -y wget tar
# 3. 添加 Adoptium 仓库
sudo dnf install -y https://packages.adoptium.net/artifactory/deb/$(lsb_release -cs)/pool/main/a/adoptium-java/adoptium-java-21_21.0.2.0-1-1_all.deb
# 4. 安装 JDK 8, 11, 17, 21
sudo dnf install -y java-1.8.0-openjdk-devel java-11-openjdk-devel java-17-openjdk-devel java-21-openjdk-devel
# 5. 注册到 alternatives
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372/bin/java 8
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-11.0.19/bin/java 11
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-17.0.10/bin/java 17
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-21.0.2/bin/java 21
# 6. 创建项目级切换脚本
echo '#!/bin/bash
jdk=$(cat .java-version)
case "$jdk" in
8)
sudo alternatives --set java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372/bin/java
;;
11)
sudo alternatives --set java /usr/lib/jvm/java-11-openjdk-11.0.19/bin/java
;;
17)
sudo alternatives --set java /usr/lib/jvm/java-17-openjdk-17.0.10/bin/java
;;
21)
sudo alternatives --set java /usr/lib/jvm/java-21-openjdk-21.0.2/bin/java
;;
*)
echo "错误:不支持的 JDK 版本 $jdk"
exit 1
;;
esac
echo "✅ 已切换到 JDK $jdk"' > usejdk.sh
chmod +x usejdk.sh
echo "✅ JDK 8/11/17/21 安装完成!
- 项目级切换:在项目根目录创建 .java-version 文件(如 '21')
- 使用:./usejdk.sh"
📌 执行方式:
chmod +x install_jdk.sh ./install_jdk.sh