一、准备工作
1下载 JDK 安装包
前往 Oracle 官网,根据 Linux 系统架构(32位/64位)下载对应版本的 JDK 安装包(本文以 JDK 20.0.1 为例)。
2放置安装包与脚本文件
1. 在 Linux 系统中创建目录 home/xxx/package(xxx 为当前用户名),将下载好的 JDK 安装包解压后放入该目录下的 java 文件夹中,目录结构如下:
package/
└── java/
└── jdk-20.0.1/
├── bin/
├── conf/
├── include/
├── jmods/
├── legal/
├── lib/
├── LICENSE
├── README
├── release
└── man/
图1:JDK安装包目录结构
2. 在 package 目录下(与 java 文件夹同级),创建 installjava.sh 脚本文件,目录结构如下:
package/
├── java/
├── tomcat11/
└── installjava.sh
图2:installjava.sh 文件存放位置
二、执行部署脚本
1脚本内容(复制到 installjava.sh)
将以下代码完整复制到 installjava.sh 文件中,无需修改(默认安装路径为 /usr/local):
# 开启脚本容错:遇到错误立即退出
set -e
# ============= 第一步:定义变量&前置检查 =============
# Java 安装目录(默认/usr/local,可根据需求修改)
JAVA_INSTALL_DIR="/usr/local"
# 系统环境变量文件
PROFILE_FILE="/etc/profile"
# 备份后缀(带时间戳,避免覆盖原有文件)
BACKUP_SUFFIX=$(date +%Y%m%d%H%M%S)
# ============= 第二步:创建目录&解压Java包 =============
# 创建安装目录(已存在则提示)
if [ -d "$JAVA_INSTALL_DIR" ]; then
echo -e "\033[33m提示:目录 $JAVA_INSTALL_DIR 已存在,将覆盖原有内容\033[0m"
else
mkdir -p "$JAVA_INSTALL_DIR"
echo "创建目录:$JAVA_INSTALL_DIR"
fi
2执行脚本步骤
1. 打开 Linux 终端(快捷键:Ctrl+Alt+T);
2. 输入以下命令切换至 root 权限(需输入当前用户密码):
sudo -i
3. 执行脚本文件(将路径替换为实际的 installjava.sh 存放路径):
bash /home/xxx/package/installjava.sh
注意: /home/xxx/package/ 需替换为你的实际文件路径(例如 /home/huf/package/),可通过 pwd 命令查看当前目录路径。
3脚本执行效果
执行成功后,终端将输出以下信息(示例):
root@huf-pc:~# bash '/home/huf/package/installjava.sh'
提示:目录/usr/local已存在,将覆盖原有内容
判断路径是否存在:/home/huf/package
存在JAVA文件夹
开始拷贝:/home/huf/package
Java根目录:/usr/local/java/jdk-20.0.1
/etc/profile
备份环境变量文件:/etc/profile -> /etc/profile.bak.20251212115402
提示:profile中已配置该Java环境变量,无需重复添加
============ 验证Java安装结果 ============
Java环境部署成功!
java version "20.0.1" 2023-04-18
Java(TM) SE Runtime Environment (build 20.0.1+9-29)
Java HotSpot(TM) 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing)
============ 部署完成 ============
说明:新登录的会话会自动加载Java环境变量,若当前会话未生效,可执行:source /etc/profile
图3:脚本执行成功终端输出
三、验证 Java 环境
1加载环境变量
若当前终端会话未自动加载环境变量,执行以下命令手动加载:
source /etc/profile
2验证安装结果
在终端中输入以下命令,查看 Java 版本:
java -version
3成功标识
若终端输出以下类似信息,说明 Java 环境部署成功:
root@huf-pc:-# java -version
java version "20.0.1" 2023-04-18
Java(TM) SE Runtime Environment (build 20.0.1+9-29)
Java HotSpot(TM) 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing)
图4:Java环境验证成功终端输出
四、注意事项
执行 sudo -i 命令时,需输入当前用户的管理员密码,确保拥有系统文件读写权限。
脚本路径需准确填写,若不确定路径,可通过 pwd 命令查看当前目录路径,或通过 find / -name "installjava.sh" 命令搜索文件位置。
若提示“权限不够”,执行 chmod +x /home/xxx/package/installjava.sh 命令赋予脚本执行权限。
本文以 JDK 20.0.1 为例,不同 JDK 版本(如 JDK 17、JDK 11)的部署流程一致,仅需替换 JDK 安装包及目录中的版本号。
脚本会自动备份环境变量文件 /etc/profile,备份文件名为 profile.bak.时间戳,若后续出现环境变量问题,可通过 cp /etc/profile.bak.xxxxxx /etc/profile 命令恢复。
1. 若执行 java -version 提示“command not found”,检查环境变量是否加载成功,或重新执行脚本;
2. 若解压 JDK 失败,检查安装包是否完整,可重新下载后重试。