JDK 1.8 自动化脚本安装方案
以下是 JDK 1.8 自动化脚本安装方案,支持多种 Linux 发行版:
📦 JDK 1.8 一键安装脚本
脚本功能:
-
✅ 自动检测系统架构(x86_64 / aarch64)
-
✅ 支持 Oracle JDK 和 OpenJDK
-
✅ 自动配置环境变量
-
✅ 验证安装结果
🔧 安装脚本代码
#!/bin/bash
# JDK 1.8 自动安装脚本
# 支持: CentOS/RHEL/Ubuntu/Debian/Amazon Linux
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 输出彩色信息
log_info() {echo -e "${GREEN}[INFO]${NC} $1"
}
log_warn() {echo -e "${YELLOW}[WARN]${NC} $1"
}
log_error() {echo -e "${RED}[ERROR]${NC} $1"
}
# 检测系统类型
detect_os() {if [ -f /etc/os-release ]; then. /etc/os-releaseOS=$NAMEVER=$VERSION_IDelif type lsb_release >/dev/null 2>&1; thenOS=$(lsb_release -si)VER=$(lsb_release -sr)elseOS=$(uname -s)VER=$(uname -r)filog_info "检测到系统: $OS $VER"
}
# 安装 OpenJDK 8
install_openjdk() {log_info "开始安装 OpenJDK 8..."case $OS in*"Ubuntu"*|*"Debian"*)apt-get updateapt-get install -y openjdk-8-jdk;;*"CentOS"*|*"Red Hat"*|*"Amazon Linux"*)if command -v dnf >/dev/null 2>&1; thendnf install -y java-1.8.0-openjdk-develelseyum install -y java-1.8.0-openjdk-develfi;;*"SUSE"*|*"SLES"*)zypper install -y java-1_8_0-openjdk-devel;;*)log_error "不支持的Linux发行版: $OS"exit 1;;esac
}
# 安装 Oracle JDK 8 (需要手动下载)
install_oracle_jdk() {log_info "开始安装 Oracle JDK 8..."# 创建安装目录INSTALL_DIR="/usr/lib/jvm"JDK_DIR="jdk1.8.0"# 检测系统架构ARCH=$(uname -m)case $ARCH inx86_64)JDK_ARCH="x64";;aarch64)JDK_ARCH="arm64";;*)log_error "不支持的架构: $ARCH"exit 1;;esac# 下载 Oracle JDK (需要替换为实际下载链接)DOWNLOAD_URL="https://download.oracle.com/otn-pub/java/jdk/8u381-b09/jdk-8u381-linux-${JDK_ARCH}.tar.gz"cd /tmplog_info "下载 Oracle JDK 8..."# 使用 wget 或 curl 下载if command -v wget >/dev/null 2>&1; thenwget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "$DOWNLOAD_URL" -O jdk-8.tar.gzelif command -v curl >/dev/null 2>&1; thencurl -L -b "oraclelicense=accept-securebackup-cookie" "$DOWNLOAD_URL" -o jdk-8.tar.gzelselog_error "请先安装 wget 或 curl"exit 1fi# 解压安装tar -xzf jdk-8.tar.gzmkdir -p $INSTALL_DIRmv jdk1.8.0* $INSTALL_DIR/$JDK_DIR# 清理rm -f jdk-8.tar.gz
}
# 配置环境变量
setup_environment() {log_info "配置环境变量..."JAVA_HOME=$(find /usr/lib/jvm -name "jdk1.8.0*" -type d | head -n 1)if [ -z "$JAVA_HOME" ]; thenJAVA_HOME=$(update-alternatives --list java | head -n 1 | sed 's|/bin/java||')fi# 设置全局环境变量cat > /etc/profile.d/jdk.sh << EOF
export JAVA_HOME=$JAVA_HOME
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=.:\$JAVA_HOME/lib:\$JRE_HOME/lib
export PATH=\$JAVA_HOME/bin:\$PATH
EOF# 设置 alternatives (CentOS/RHEL)if command -v update-alternatives >/dev/null 2>&1; thenupdate-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 1update-alternatives --install /usr/bin/javac javac $JAVA_HOME/bin/javac 1update-alternatives --set java $JAVA_HOME/bin/javaupdate-alternatives --set javac $JAVA_HOME/bin/javacfi# 重新加载环境变量source /etc/profile.d/jdk.sh
}
# 验证安装
verify_installation() {log_info "验证JDK安装..."if command -v java >/dev/null 2>&1; thenjava -versionecho ""log_info "JAVA_HOME: $JAVA_HOME"log_info "JDK安装成功!"elselog_error "JDK安装失败!"exit 1fi
}
# 主函数
main() {log_info "开始安装 JDK 1.8..."# 检查root权限if [ "$EUID" -ne 0 ]; thenlog_error "请使用root权限运行此脚本"exit 1fidetect_os# 选择安装版本echo "请选择安装版本:"echo "1) OpenJDK 8 (推荐)"echo "2) Oracle JDK 8"read -p "请输入选择 [1-2]: " choicecase $choice in1)install_openjdk;;2)install_oracle_jdk;;*)log_info "使用默认选项: OpenJDK 8"install_openjdk;;esacsetup_environmentverify_installation
}
# 执行主函数
main "$@"
🚀 快速使用方式
方法1:直接下载执行
# 下载脚本
wget https://example.com/install-jdk8.sh -O install-jdk8.sh
# 添加执行权限
chmod +x install-jdk8.sh
# 运行脚本
sudo ./install-jdk8.sh
方法2:一键安装(OpenJDK专用)
# Ubuntu/Debian
sudo apt update && sudo apt install -y openjdk-8-jdk
# CentOS/RHEL/Amazon Linux
sudo yum install -y java-1.8.0-openjdk-devel
# 验证安装
java -version
javac -version
⚙️ 手动配置环境变量
如果只需要手动配置,创建文件 /etc/profile.d/jdk.sh
:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
然后执行:
source /etc/profile.d/jdk.sh
🔍 验证安装结果
# 检查Java版本
java -version
# 检查编译器
javac -version
# 检查环境变量
echo $JAVA_HOME
echo $PATH
# 测试编译运行
cat > HelloWorld.java << 'EOF'
public class HelloWorld {public static void main(String[] args) {System.out.println("JDK 1.8 安装成功!");}
}
EOF
javac HelloWorld.java
java HelloWorld
📝 注意事项
-
权限要求:需要 root 权限安装
-
网络连接:确保服务器可以访问软件源
-
版本兼容:确认应用兼容 JDK 1.8
-
安全考虑:Oracle JDK 需要接受许可证协议
这个脚本可以大大简化 JDK 1.8 的安装过程,特别适合在多个服务器上批量部署!