first commit
This commit is contained in:
106
install_java17.sh
Normal file
106
install_java17.sh
Normal file
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Java 17 安装脚本
|
||||
# 提供多个下载源选项
|
||||
|
||||
set -e
|
||||
|
||||
JAVA_VERSION="17.0.12"
|
||||
JAVA_DIR="/opt/java17"
|
||||
INSTALL_DIR="$HOME"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Java 17 安装脚本"
|
||||
echo "=========================================="
|
||||
|
||||
# 检查是否已安装 Java 17
|
||||
if [ -d "$JAVA_DIR" ] && [ -f "$JAVA_DIR/bin/java" ]; then
|
||||
CURRENT_VERSION=$($JAVA_DIR/bin/java -version 2>&1 | head -1)
|
||||
if echo "$CURRENT_VERSION" | grep -q "17"; then
|
||||
echo "Java 17 已安装: $CURRENT_VERSION"
|
||||
echo "配置为默认版本..."
|
||||
sudo alternatives --install /usr/bin/java java $JAVA_DIR/bin/java 2
|
||||
sudo alternatives --install /usr/bin/javac javac $JAVA_DIR/bin/javac 2
|
||||
sudo alternatives --config java <<< "2"
|
||||
java -version
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# 下载选项
|
||||
echo "请选择下载源:"
|
||||
echo "1. GitHub (Adoptium) - 需要良好的网络连接"
|
||||
echo "2. 手动下载后安装"
|
||||
echo "3. 使用系统包管理器(如果可用)"
|
||||
read -p "请选择 (1-3): " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
echo "正在从 GitHub 下载 Java 17..."
|
||||
cd $INSTALL_DIR
|
||||
URL="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-${JAVA_VERSION}%2B7/OpenJDK17U-jdk_x64_linux_hotspot_${JAVA_VERSION}_7.tar.gz"
|
||||
wget "$URL" -O java17.tar.gz || {
|
||||
echo "下载失败,请尝试其他选项"
|
||||
exit 1
|
||||
}
|
||||
;;
|
||||
2)
|
||||
echo "请手动下载 Java 17 并保存为 java17.tar.gz"
|
||||
echo "下载地址: https://adoptium.net/zh-CN/temurin/releases/?version=17"
|
||||
read -p "下载完成后,请将文件放在 $INSTALL_DIR/java17.tar.gz,然后按回车继续..."
|
||||
if [ ! -f "$INSTALL_DIR/java17.tar.gz" ]; then
|
||||
echo "错误: 未找到 java17.tar.gz 文件"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
echo "尝试使用系统包管理器..."
|
||||
# 检查是否有可用的 Java 17 包
|
||||
if yum list available | grep -q "java-17"; then
|
||||
sudo yum install -y java-17-openjdk java-17-openjdk-devel
|
||||
sudo alternatives --config java
|
||||
java -version
|
||||
exit 0
|
||||
else
|
||||
echo "系统仓库中没有 Java 17,请选择其他选项"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "无效选择"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# 解压和安装
|
||||
echo "正在解压..."
|
||||
cd $INSTALL_DIR
|
||||
tar -xzf java17.tar.gz
|
||||
|
||||
echo "正在安装到 $JAVA_DIR..."
|
||||
sudo mkdir -p $JAVA_DIR
|
||||
sudo mv jdk-${JAVA_VERSION}+7/* $JAVA_DIR/
|
||||
sudo chown -R root:root $JAVA_DIR
|
||||
|
||||
# 配置 alternatives
|
||||
echo "配置 Java 17 为默认版本..."
|
||||
sudo alternatives --install /usr/bin/java java $JAVA_DIR/bin/java 2
|
||||
sudo alternatives --install /usr/bin/javac javac $JAVA_DIR/bin/javac 2
|
||||
|
||||
# 选择 Java 17
|
||||
echo "2" | sudo alternatives --config java > /dev/null 2>&1 || {
|
||||
echo "请手动选择 Java 17:"
|
||||
sudo alternatives --config java
|
||||
}
|
||||
|
||||
# 验证安装
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "安装完成!"
|
||||
echo "=========================================="
|
||||
java -version
|
||||
echo ""
|
||||
echo "Java 17 已安装到: $JAVA_DIR"
|
||||
echo "现在可以继续安装 Gerrit 了!"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user