第一步:检查系统信息
在开始之前,先确认你的 CentOS 版本和系统架构(64位还是32位),这将决定你下载的软件包类型。

# 查看CentOS版本 cat /etc/redhat-release # 查看系统架构 (x86_64 表示64位) uname -m
对于现代的 CentOS 7/8/9,64位系统是主流,本教程将主要针对 64位系统。
使用 YUM/DNF 包管理器安装(最简单、推荐)
这种方式会自动处理依赖关系,安装和管理都非常方便,适合快速搭建开发和测试环境。
安装 EPEL 仓库
EPEL (Extra Packages for Enterprise Linux) 是一个为 RHEL 及其衍生版(如 CentOS)提供高质量额外软件包的项目。
# 对于 CentOS 7 sudo yum install -y epel-release # 对于 CentOS 8/9 sudo dnf install -y epel-release
查找并安装 OpenJDK
OpenJDK 是 Java 的开源实现,完全免费,是大多数开发者的首选。

CentOS 7 / RHEL 7
使用 yum 命令搜索可用的 Java 版本。
# 搜索所有可用的 OpenJDK 版本 sudo yum search java-1.8.0 sudo yum search java-11 sudo yum search java-17
假设我们要安装 Java 17 (LTS版本),运行以下命令:
# 安装 OpenJDK 17 开发工具包 sudo yum install -y java-1.8.0-openjdk-devel
注意:
java-1.8.0-openjdk-devel包包含了 JRE(Java 运行时环境)、JDK(Java 开发工具包,包含编译器javac等)和开发所需的头文件,对于开发,我们通常安装这个包,如果你只需要运行 Java 程序,可以安装java-1.8.0-openjdk。
CentOS 8 / RHEL 8 / CentOS 9 / RHEL 9
使用 dnf 命令,过程类似。
# 搜索可用的 Java 版本 sudo dnf search java-17-openjdk
安装 Java 17:
# 安装 OpenJDK 17 开发工具包 sudo dnf install -y java-17-openjdk-devel
验证安装
安装完成后,Java 的可执行文件通常会被自动添加到系统的 PATH 环境变量中,我们可以通过以下命令验证:
# 查看Java版本 java -version # 查看Javac编译器版本 javac -version # 查看Java安装路径 (which 命令会显示可执行文件的路径) which java which javac
你会看到类似以下的输出:
openjdk version "17.0.8" 2025-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
OpenJDK 64-Bit Server VM (build 17.0.8+7, mixed mode, sharing)
/usr/bin/java
/usr/bin/javac
设置环境变量(可选)
yum/dnf 会自动设置 JAVA_HOME,但有时为了保险或遵循某些规范,你可能需要手动设置。
-
查找 JDK 安装路径
# 使用 update-alternatives 命令查找 sudo update-alternatives --config java
这会列出所有已安装的 Java 版本及其路径,记下你想要使用的版本的路径,
/usr/lib/jvm/java-17-openjdk-17.0.8.0.x86_64/。 -
编辑
/etc/profile文件sudo vim /etc/profile
-
在文件末尾添加以下内容
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.8.0.x86_64 # 替换为你的实际路径 export PATH=$PATH:$JAVA_HOME/bin
-
使配置生效
source /etc/profile
-
验证
JAVA_HOMEecho $JAVA_HOME # 应该输出你设置的路径
手动安装(适用于需要特定版本或生产环境)
当你需要安装 Oracle JDK 或者某个特定版本的 OpenJDK(而 YUM 仓库中没有)时,手动安装是更好的选择。
下载 JDK 安装包
前往 Oracle 官网 或 Adoptium (Eclipse Temurin) 官网 下载 JDK。
以 Adoptium (Eclipse Temurin) 为例: 它是一个高质量、免费的 OpenJDK 发行版,非常受欢迎。
- 访问 Adoptium 官网。
- 选择你需要的版本(如 Temurin-17)。
- 选择操作系统为 Linux x64。
- 下载
.tar.gz格式的压缩包。
假设你已经下载了文件到 /home/username/Downloads 目录下,文件名为 OpenJDK17U-jdk_x64_linux_hotspot_17.0.8_7.tar.gz。
创建安装目录
通常我们将 JDK 安装在 /usr/local 目录下。
sudo mkdir -p /usr/local/java
解压并移动 JDK
# 进入下载目录 cd /home/username/Downloads # 解压压缩包 (请替换为你的实际文件名) tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.8_7.tar.gz # 将解压后的文件夹移动到 /usr/local/java 目录 # 假设解压后的文件夹名为 jdk-17.0.8+7 sudo mv jdk-17.0.8+7 /usr/local/java/
设置环境变量
这是手动安装最关键的一步,我们将把 JDK 的路径添加到系统的环境变量中。
-
编辑
/etc/profile文件sudo vim /etc/profile
-
在文件末尾添加以下内容
export JAVA_HOME=/usr/local/java/jdk-17.0.8+7 # 替换为你的实际安装路径 export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
-
使配置生效
source /etc/profile
验证安装
与方法一相同,运行以下命令检查:
java -version javac -version echo $JAVA_HOME
如果输出正确,说明手动安装成功。
第三步:管理多个 Java 版本
如果你安装了多个 Java 版本(Java 8 和 Java 17),你可能需要在它们之间切换。
使用 update-alternatives(适用于 YUM/DNF 安装的 JDK)
yum/dnf 安装的 JDK 通常会自动被 update-alternatives 管理。
# 查看当前管理的 Java 版本 sudo update-alternatives --config java # 你会看到一个列表,可以选择要激活的版本,输入编号即可
手动管理(适用于手动安装的 JDK)
对于手动安装的 JDK,你需要手动创建符号链接。
-
将你的 JDK 添加到
update-alternatives# 语法: sudo update-alternatives --install <链接路径> <命令名> <实际安装路径> <优先级> # 优先级数字越大,优先级越高 sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk-17.0.8+7/bin/java 1708 sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk-17.0.8+7/bin/javac 1708
-
切换版本
现在你可以像管理 YUM 安装的 JDK 一样来切换了:
sudo update-alternatives --config java sudo update-alternatives --config javac
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| YUM/DNF | 安装简单,一键搞定。 自动处理依赖。 方便使用 yum update 升级。方便管理多个版本。 |
仓库中的版本可能不是最新的。 自定义选项少。 |
快速搭建开发/测试环境;对 Java 版本无特殊要求的用户。 |
| 手动安装 | 可自由选择任意版本(包括最新版)。 可选择 Oracle JDK 或其他发行版。 安装路径更可控。 |
过程繁琐,需手动解压和配置环境变量。 需要手动管理多个版本和依赖。 |
需要特定 Java 版本的项目;生产环境;希望使用 Oracle JDK 的场景。 |
对于大多数开发者,强烈推荐从方法一开始,如果方法一无法满足你的版本需求,再使用方法二。
