一、前言:为什么要手动配置 Java 环境?
CentOS 7 默认预装 OpenJDK,但存在组件不全问题(如缺少tools.jar导致javac命令失效)。本文详解两种安装方案,适配开发 / 运行场景,附多版本切换与排错技巧。
二、前期准备:卸载系统自带 Java
1. 检查现有 Java 版本
# 方法1:yum列表查看
yum list installed | grep java
# 方法2:rpm包查询
rpm -qa | grep java2. 卸载自带 Java(避免冲突)
# yum卸载(适用于yum安装的版本)
yum -y remove java-1.8.0-openjdk* tzdata-java*
# rpm卸载(适用于预装版本)
rpm -e --nodeps $(rpm -qa | grep java | grep -v javapackages)三、方案一:Yum 安装 OpenJDK(推荐新手)
1. 核心优势
自动解决依赖,无需手动配置路径
系统级安装,支持多用户共享
适配 CentOS 官方维护渠道
2. 安装步骤
步骤 1:更新系统包
sudo yum update -y # 避免依赖冲突步骤 2:查看可用版本
sudo yum list available java-*-openjdk # 列出所有OpenJDK版本步骤 3:选择安装类型
# 仅运行环境(JRE,适合部署项目)
sudo yum install -y java-1.8.0-openjdk # Java 8(兼容性首选)
# sudo yum install -y java-11-openjdk # Java 11(LTS版本)
# 开发环境(JDK,含编译器javac)
sudo yum install -y java-1.8.0-openjdk-devel # Java 8 JDK
# sudo yum install -y java-11-openjdk-devel # Java 11 JDK3. 验证安装
java -version # 验证JRE
javac -version # 验证JDK(需安装devel包)四、方案二:手动安装 Oracle JDK(需特定版本)
1. 适用场景
开发需 Oracle 专有功能
项目强制要求特定 JDK 版本
需自定义安装路径
2. 安装步骤
步骤 1:下载 JDK
官网地址:Oracle JDK 下载页(需登录)
镜像加速:华为云镜像(如 JDK 8:https://mirrors.huaweicloud.com/java/jdk/8u202-b08/)
步骤 2:上传并解压
# 方法1:wget直接下载(以JDK 21为例)
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz -P /opt/software
# 方法2:本地上传后解压
tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/ # 解压到/usr/local步骤 3:配置环境变量
# 编辑系统配置文件
sudo vi /etc/profile
# 在文件末尾添加(路径替换为实际解压目录)
export JAVA_HOME=/usr/local/jdk-21.0.7
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 使配置生效
source /etc/profile步骤 4:创建软链接(可选)
ln -s /usr/local/jdk-21.0.7 /usr/local/jdk # 简化路径引用五、进阶:多 Java 版本切换
1. 准备工作
在/etc/profile.d/下创建版本专属配置文件:
# 创建Java 8配置
sudo vi /etc/profile.d/java8.sh
export JAVA_HOME=/opt/software/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
# 创建Java 21配置
sudo vi /etc/profile.d/java21.sh
export JAVA_HOME=/opt/software/jdk-21.0.7
export PATH=$JAVA_HOME/bin:$PATH2. 切换版本
# 激活Java 8
source /etc/profile.d/java8.sh
# 激活Java 21
source /etc/profile.d/java21.sh
六、常见问题与解决方案
javac: command not found
原因:未安装 JDK 开发包
解决:安装java-*-openjdk-devel(Yum 方式)或检查CLASSPATH是否包含tools.jar(手动安装)。
环境变量不生效
解决:执行source /etc/profile,或重启终端(永久生效)。
Oracle JDK 下载需登录
解决:使用华为云、阿里云等镜像源,或通过浏览器下载后上传服务器。
多版本切换后版本不变
解决:删除/usr/bin/java旧软链接,重新创建:
rm -f /usr/bin/java
ln -s $JAVA_HOME/bin/java /usr/bin/java七、总结
根据项目需求选择合适方案,开发环境优先选 JDK,生产环境可按需选择 JRE/JDK。