阿里云ECS多版本JDK切换

步骤 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
相关推荐
EntyIU8 分钟前
Java NIO 实战
java·开发语言·nio
二宝哥9 分钟前
springboot项目使用Gradle工具实现依赖版本控制
java·spring boot·后端·gradle·版本
安然无虞16 分钟前
Python自动化测试·Selenium操控元素的方法
python·selenium·测试工具
浩瀚之水_csdn29 分钟前
Python 3 网络编程详解:从原理到实战
开发语言·网络·python
济*沧*海30 分钟前
Set集合深度解析:原理、特性与应用场景全攻略
java
geovindu30 分钟前
java: Singleton Pattern
java·开发语言·后端·单例模式·设计模式·创建型模式
满怀冰雪31 分钟前
24_中间件系统源码分析_Middleware链的洋葱模型与异常处理
人工智能·python·中间件·langchain
江华森33 分钟前
03-python-包与模块异常处理
python
AI行业学习39 分钟前
2026 版 Notepad++ 完整图文安装指南|官方渠道无捆绑,一键切换中文界面
开发语言·人工智能·python·html·notepad++
炘东5921 小时前
求助:在另一个 Reasonix 窗口或后台运行
python