- 下载Jdk离线包,下载地址:https://www.oracle.com
- 根据离线包版本修改脚本中 “JDK_VERSION” 和 “JDK_ARCHIVE”
- 离线包和脚本放在同一目录下
- 脚本授权:chmod 755 install_java.sh
- 执行脚本,等待输出提示
# 定义JDK版本、安装包路径和安装目录
JDK_VERSION="8u341"
# 修改为本地JDK压缩包的路径
JDK_ARCHIVE="jdk-8u341-linux-x64.tar.gz"
INSTALL_DIR="/usr/local/java"
# 打印日志信息
function log() {
local message="$1"
echo "[INFO] $message"
}
# 错误退出函数
function error_exit() {
local message="$1"
echo "[ERROR] $message"
exit 1
}
# 设置JDK环境变量
function set_java_env() {
log "设置JDK环境变量..."
if grep -q "JAVA_HOME=${INSTALL_DIR}" /etc/profile.d/jdk.sh 2>/dev/null; then
log "环境变量已存在,跳过设置"
else
{
echo "export JAVA_HOME=${INSTALL_DIR}"
echo "export PATH=\$PATH:\$JAVA_HOME/bin"
} | sudo tee /etc/profile.d/jdk.sh
# 赋予执行权限
chmod 755 /etc/profile.d/jdk.sh
# 更新环境变量
source /etc/profile.d/jdk.sh
fi
}
# 验证JDK安装
function verify_java_installation() {
log "验证JDK安装..."
java -version
if [[ $? -ne 0 ]]; then
error_exit "JDK安装失败"
else
log "JDK安装成功"
fi
}
# 离线安装Oracle JDK
function install_oracle_jdk() {
log "使用本地JDK安装包安装JDK 8..."
# 检查JDK安装包是否存在
if [[ ! -f "$JDK_ARCHIVE" ]]; then
error_exit "找不到JDK压缩包: $JDK_ARCHIVE"
fi
# 创建目标安装目录
sudo mkdir -p "$INSTALL_DIR" || error_exit "创建安装目录失败"
# 解压JDK到目标目录
log "解压JDK..."
sudo tar -xzf "$JDK_ARCHIVE" -C "$INSTALL_DIR" --strip-components=1 || error_exit "JDK解压失败"
# 设置环境变量
set_java_env
# 验证安装
verify_java_installation
}
# 开始安装JDK
install_oracle_jdk