一、适用场景
本教程涵盖三类核心需求,适配不同 Linux 发行版:
- RPM 系系统(CentOS/RHEL/Oracle Linux) :JDK 8u45 升级安装(替换旧版 JDK/JRE);
- 多 JDK 版本管理:通过update-alternatives切换不同 JDK 版本(如 JDK 7/8);
- Debian 系系统(Ubuntu 16.04) :OpenJDK 7 安装配置。
二、第一部分:RPM 系系统 JDK 8u45 升级安装
1. 前提准备
- 下载文件:jdk-8u45-linux-x64.rpm(64 位系统专用);
- 上传至服务器:通过 SCP/FTP 工具上传到指定目录(如 /usr/local/src);
- 登录服务器:建议使用 root 权限或sudo权限操作。
2. 安装步骤
# 1. 进入安装包目录
cd /usr/local/src
# 2. 给安装包添加执行权限(仅所有者可执行,更安全)
chmod u+x jdk-8u45-linux-x64.rpm
# 3. 执行RPM安装(默认路径:/usr/java/jdk1.8.0_45)
rpm -ivh jdk-8u45-linux-x64.rpm
- 安装说明:rpm -ivh 会自动处理依赖(基础依赖需提前安装,如 libc6),安装完成后 JDK 默认部署在 /usr/java/ 目录下。
3. 配置环境变量
# 1. 编辑系统环境变量配置文件
vi /etc/profile
# 2. 在文件末尾添加以下内容(按 i 进入编辑模式)
export JAVA_HOME=/usr/java/jdk1.8.0_45 # JDK安装根目录
export JRE_HOME=$JAVA_HOME/jre # JRE目录(JDK内置,无需额外安装)
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH # 类路径
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH # 加入系统环境变量
# 3. 保存退出(按 Esc,输入 :wq 回车)
# 4. 使配置立即生效(无需重启服务器)
source /etc/profile
4. 验证安装成功
java -version
- 成功输出示例:
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
三、第二部分:Linux 多 JDK 版本切换(通用方法)
当系统安装多个 JDK 版本(如 JDK 7 和 JDK 8)时,通过update-alternatives工具切换默认版本:
1. 查看已安装的 JDK 版本
# 方法1:通过rpm查询(仅RPM系系统)
rpm -qa | grep java
# 方法2:通过find查询所有Java安装路径(通用)
find /usr -name "java" | grep bin/java
- 示例输出:/usr/java/jdk1.7.0_45/bin/java、/usr/java/jdk1.8.0_45/bin/java
2. 注册 JDK 到系统备选列表
# 1. 注册JDK 7的java命令(优先级300,数值越高优先级越高)
update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_45/bin/java 300
# 2. 注册JDK 7的javac命令(编译工具,需与java对应)
update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_45/bin/javac 300
# 3. (可选)注册JDK 8(若需切换回8)
update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_45/bin/java 400
update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_45/bin/javac 400
- 说明:--install 格式为「--install 系统命令路径 命令名称 JDK实际路径 优先级」。
3. 切换 JDK 版本
# 执行切换命令(java命令)
update-alternatives --config java
# 执行切换命令(javac命令,需与java版本一致)
update-alternatives --config javac
- 操作示例:
-
- 执行后会列出所有已注册的版本,按提示输入「序号」并回车;
-
- 示例界面:
有 2 个程序提供“java”。
选择 命令
-----------------------------------------------
*+ 1 /usr/java/jdk1.8.0_45/bin/java
2 /usr/java/jdk1.7.0_45/bin/java
输入要选择的编号,或按 Enter 保留当前选择[+]:2
4. 验证切换结果
# 查看java版本
java -version
# 查看javac版本(确保与java一致)
javac -version
四、第三部分:Ubuntu 16.04 安装 OpenJDK 7
Ubuntu 16.04 默认软件源可能不含 OpenJDK 7,需通过 PPA 源安装:
1. 安装依赖工具
# 安装软件源管理工具
sudo apt-get install -y software-properties-common python-software-properties
- 说明:python-software-properties 为旧版依赖,确保兼容 Ubuntu 16.04。
2. 添加 OpenJDK 7 PPA 源
# 添加webupd8team的Java PPA源(含旧版OpenJDK)
sudo add-apt-repository ppa:webupd8team/java
# 更新软件源缓存
sudo apt-get update
- 注意:执行add-apt-repository时需按 Enter 确认添加。
3. 安装 OpenJDK 7
sudo apt-get install -y openjdk-7-jdk
- 安装路径:默认安装到 /usr/lib/jvm/java-7-openjdk-amd64/。
4. 验证安装
java -version
- 成功输出示例:
java version "1.7.0_181"
OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.2)
OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)
五、关键说明与注意事项
1. 版本选择建议
- JDK 8u45:适用于需要稳定兼容的企业级应用(已停止官方支持,生产环境建议升级到 JDK 8u300 + 或 JDK 17 LTS);
- OpenJDK 7:仅用于兼容旧版 legacy 系统,安全性较低,非必要不推荐使用;
- 生产环境优先选择 OpenJDK 17 LTS(免费长期支持)或 Oracle JDK 17(商业授权)。
2. 环境变量配置注意
- 若java -version提示「未找到命令」,检查:
-
- JAVA_HOME路径是否与实际安装路径一致;
-
- 执行source /etc/profile重载配置;
-
- 若为普通用户,可编辑~/.bashrc添加环境变量(仅当前用户生效)。
3. 权限问题
- RPM 安装 JDK 时,默认目录权限为 755,普通用户可正常使用;
- Ubuntu 安装 OpenJDK 时,需用sudo提升权限,避免安装失败。
4. 卸载 JDK(如需)
# RPM系卸载JDK 8u45
rpm -e jdk1.8.0_45-fcs.x86_64
# Ubuntu卸载OpenJDK 7
sudo apt-get remove -y openjdk-7-jdk
sudo apt-get autoremove -y # 清理依赖