飞羽
飞羽
发布于 2025-10-24 / 14 阅读

CentOS 7配置Java环境

一、前言:为什么要手动配置 Java 环境?

CentOS 7 默认预装 OpenJDK,但存在组件不全问题(如缺少tools.jar导致javac命令失效)。本文详解两种安装方案,适配开发 / 运行场景,附多版本切换与排错技巧。

二、前期准备:卸载系统自带 Java

1. 检查现有 Java 版本

# 方法1:yum列表查看
yum list installed | grep java

# 方法2:rpm包查询

rpm -qa | grep java

2. 卸载自带 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 JDK

3. 验证安装

java -version  # 验证JRE
javac -version # 验证JDK(需安装devel包)

四、方案二:手动安装 Oracle JDK(需特定版本)

1. 适用场景

  • 开发需 Oracle 专有功能

  • 项目强制要求特定 JDK 版本

  • 需自定义安装路径

2. 安装步骤

步骤 1:下载 JDK
步骤 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:$PATH

2. 切换版本

# 激活Java 8
source /etc/profile.d/java8.sh

# 激活Java 21

source /etc/profile.d/java21.sh

六、常见问题与解决方案

  1. javac: command not found

原因:未安装 JDK 开发包

解决:安装java-*-openjdk-devel(Yum 方式)或检查CLASSPATH是否包含tools.jar(手动安装)。

  1. 环境变量不生效

解决:执行source /etc/profile,或重启终端(永久生效)。

  1. Oracle JDK 下载需登录

解决:使用华为云、阿里云等镜像源,或通过浏览器下载后上传服务器。

  1. 多版本切换后版本不变

解决:删除/usr/bin/java旧软链接,重新创建:

rm -f /usr/bin/java

ln -s $JAVA_HOME/bin/java /usr/bin/java

七、总结

安装方式

优点

缺点

适用人群

Yum 安装 OpenJDK

操作简单、自动维护

版本受限(最高 Java 11)

新手、运维人员

手动安装 Oracle

版本灵活、功能完整

需手动配置、无更新提醒

开发者、特定需求

根据项目需求选择合适方案,开发环境优先选 JDK,生产环境可按需选择 JRE/JDK。