【解决思路】
0、安装准备
1、指定安装路径
2、设置变量
3、检查是否已经安装了JDK1.8
4、解压jdk1.8的安装包
5、设置环境变量
6、验证安装是否成功
【安装脚本】
#!/usr/bin/bash
###############################
# #
# 安装JDK1.8 #
# #
###############################
#安装准备
#创建安装介质目录并上传安装压缩包
mkdir -p /usr/local/java/jdk1.8
# 设置变量
JDK_INSTALL_DIR=/usr/local/java/jdk1.8 # Java 安装路径,可以自定义
JAVA_VERSION=1.8 # 指定 Java 版本号
ARCHIVE_PATH="/usr/local/temp/jdk-8u201-linux-x64.tar.gz" # JDK 压缩包的路径
# 函数:检查是否已经安装了指定版本的 JDK
check_jdk_installed() {
if command -v java > /dev/null; then
java_version=$(java -version 2>&1 | grep 'version' | awk -F '"' '{print $2}')
if [[ "$java_version" == "1.8."* ]]; then
echo "JDK $JAVA_VERSION 已经安装。"
exit 0
fi
fi
return 1
}
# 检查是否已经安装了 JDK 1.8
if check_jdk_installed; then
exit 0
fi
echo "解压 JDK 到 $JDK_INSTALL_DIR"
tar -xzf "$ARCHIVE_PATH" -C "$JDK_INSTALL_DIR" --strip-components=1
# 获取安装后的 Java 安装目录
JAVA_HOME="$JDK_INSTALL_DIR"
if [ ! -d "$JAVA_HOME" ]; then
echo "Java 安装目录 $JAVA_HOME 不存在,请检查安装路径。"
exit 1
fi
sudo update-alternatives --install /usr/bin/java java "$JAVA_HOME/bin/java" 200
sudo update-alternatives --set java "$JAVA_HOME/bin/java"
sudo update-alternatives --install /usr/bin/javac javac "$JAVA_HOME/bin/javac" 200
sudo update-alternatives --set javac "$JAVA_HOME/bin/javac"
# 设置环境变量(可选)
echo "export JAVA_HOME=$JAVA_HOME" | sudo tee -a /etc/profile.d/java.sh > /dev/null
echo "export PATH=\$PATH:\$JAVA_HOME/bin" | sudo tee -a /etc/profile.d/java.sh > /dev/null
# 使环境变量生效
source /etc/profile.d/java.sh
# 验证安装是否成功
java -version
if [ $? -eq 0 ]; then
echo "JDK $JAVA_VERSION 已成功安装。"
else
echo "JDK 安装出现问题,请检查错误信息并尝试重新安装。"
fi