Java
Ubuntu 自动安装多个 JDK 版本 + 管理切换脚本,适用于 Ubuntu 20.04 及以上,支持 OpenJDK 8、11、17、21。
📜 脚本名称:setup-multi-java.sh
#!/bin/bash
set -e
echo "🧩 正在更新系统软件源..."
sudo apt update
echo "📦 安装 OpenJDK 8, 11, 17, 21..."
sudo apt install -y openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk openjdk-21-jdk
echo "🔗 注册所有 JDK 到 update-alternatives..."
# 定义每个版本路径
declare -A jdks=(
[8]="/usr/lib/jvm/java-8-openjdk-amd64"
[11]="/usr/lib/jvm/java-11-openjdk-amd64"
[17]="/usr/lib/jvm/java-17-openjdk-amd64"
[21]="/usr/lib/jvm/java-21-openjdk-amd64"
)
# 注册 java 和 javac
for version in "${!jdks[@]}"; do
path="${jdks[$version]}"
if [ -d "$path" ]; then
sudo update-alternatives --install /usr/bin/java java "$path/bin/java" "$((1000 + version))"
sudo update-alternatives --install /usr/bin/javac javac "$path/bin/javac" "$((1000 + version))"
echo "✅ 已注册 JDK $version"
else
echo "⚠️ 路径不存在:$path,跳过"
fi
done
echo "📌 当前默认 Java 版本:"
java -version
echo "✅ 你可以使用以下命令切换默认版本:"
echo "📁 sudo update-alternatives --config java"
echo "📁 建议运行例如 './use-java11.sh' 来切换 JAVA_HOME 并激活"
📁 脚本使用方法
1. 保存脚本
保存为 setup-multi-java.sh
文件。
2. 赋予可执行权限
chmod +x setup-multi-java.sh
3. 运行安装
./setup-multi-java.sh
⚙️ 可选:版本快速切换脚本(推荐)
为方便快速切换,可创建快捷脚本,如:
📄 use-java8.sh
use-java8.sh
#!/bin/bash
JDK_PATH="/usr/lib/jvm/java-8-openjdk-amd64"
sudo update-alternatives --set java $JDK_PATH/bin/java
sudo update-alternatives --set javac $JDK_PATH/bin/javac
echo "✅ Java 已切换到:$JDK_PATH"
# 设置 JAVA_HOME(只对当前 shell 有效)
export JAVA_HOME=$JDK_PATH
export PATH=$JAVA_HOME/bin:$PATH
echo "✅ JAVA_HOME 已设置为:$JAVA_HOME"
# 打印版本
java -version
📄 use-java11.sh
use-java11.sh
#!/bin/bash
JDK_PATH="/usr/lib/jvm/java-11-openjdk-amd64"
sudo update-alternatives --set java $JDK_PATH/bin/java
sudo update-alternatives --set javac $JDK_PATH/bin/javac
echo "✅ Java 已切换到:$JDK_PATH"
# 设置 JAVA_HOME(只对当前 shell 有效)
export JAVA_HOME=$JDK_PATH
export PATH=$JAVA_HOME/bin:$PATH
echo "✅ JAVA_HOME 已设置为:$JAVA_HOME"
# 打印版本
java -version
依此类推创建 use-java17.sh
、use-java21.sh
。
赋予执行权限:
chmod +x use-java*.sh
🧪 验证
java -version
javac -version
需要我将这些脚本打包成 .zip
发给你,或帮你生成一键安装脚本压缩包也可以告诉我。
Last updated