核心概念:JDK vs JRE
在开始之前,请务必理解两者的区别:

- JRE (Java Runtime Environment):Java 运行时环境,如果你只是想运行已经编译好的 Java 程序(Minecraft 服务端、某些桌面应用),安装 JRE 就足够了。
- JDK (Java Development Kit):Java 开发工具包,它包含了 JRE,还包含了编译器、调试器等开发工具,如果你需要编写、编译和调试 Java 代码,或者需要运行依赖这些工具的应用(如 Tomcat、Spring Boot 项目),你必须安装 JDK。
对于绝大多数场景,我们都需要安装 JDK。
第一步:检查系统是否已安装 Java
在安装之前,先检查一下系统中是否已经存在 Java 环境,避免冲突。
打开终端,执行以下命令:
java -version
如果系统已经安装了 Java,会显示版本信息,如果提示 command not found,说明没有安装。

检查一下 javac 命令(Java 编译器)是否存在,这是判断是否安装了 JDK 的关键:
javac -version
javac 命令不存在,几乎可以肯定你只安装了 JRE 或者没有安装 Java。
手动安装 JDK(推荐,生产环境标准做法)
手动安装可以让你精确控制安装路径、版本,并且能避免系统自带的 OpenJDK 版本冲突,我们将以安装 OpenJDK 17 为例,这是目前最主流的 LTS(长期支持)版本。
下载 JDK
访问 Oracle 官网或 OpenJDK 官网下载 JDK,对于 CentOS,推荐下载 Linux x64 Compress Archive (tar.gz) 格式。

- Oracle JDK 官网: https://www.oracle.com/java/technologies/downloads/ (需要接受许可协议)
- Eclipse Temurin (Adoptium) OpenJDK 官网: https://adoptium.net/ (免费开源,推荐)
以 Eclipse Temurin 为例:
- 访问官网,选择 Temurin JDK。
- 选择 LTS 版本(如 JDK 17, JDK 21)。
- 选择你的操作系统为 x64 / Linux。
- 下载 Package Type: Archive 的
.tar.gz文件。
假设你下载的文件是 OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz。
上传并解压 JDK
将下载好的 .tar.gz 文件上传到你的 CentOS 服务器,我们会将软件安装在 /usr/local 目录下。
# 进入软件安装目录 cd /usr/local # 创建一个 java 目录来存放 JDK sudo mkdir java # 将上传的 JDK 压缩包解压到 /usr/local/java 目录中 # 请将下面的文件名替换成你实际下载的文件名 sudo tar -zxvf /path/to/your/downloaded/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -C /usr/local/java/ # 解压后,目录名可能会很长,我们可以创建一个软链接方便管理 # 假设解压后的目录是 jdk-17.0.9+9 sudo ln -s /usr/local/java/jdk-17.0.9+9 /usr/local/java/default
你的 JDK 就安装在 /usr/local/java/default 目录下了。
配置环境变量
这是最关键的一步,让系统知道 JDK 在哪里。
-
编辑
/etc/profile文件(推荐,对所有用户生效):sudo vim /etc/profile
-
在文件末尾添加以下内容:
# Java Environment Configuration export JAVA_HOME=/usr/local/java/default export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
JAVA_HOME:指向你 JDK 的安装目录,我们之前使用了软链接,所以这里写/usr/local/java/default。PATH:将 JDK 的bin目录添加到系统的 PATH 中,这样在任何地方都能直接使用java,javac等命令。CLASSPATH:Java 类加载路径,通常保持默认即可。
-
保存并退出,在 Vim 中,按
Esc,然后输入wq,回车。 -
让配置立即生效:
# 使 /etc/profile 的修改立即生效 source /etc/profile
验证安装
让我们验证一下 Java 环境是否配置成功。
# 检查 java 版本 java -version # 检查 javac 版本 javac -version # 检查 JAVA_HOME 变量是否设置正确 echo $JAVA_HOME
如果以上命令都正确输出了版本信息(openjdk version "17.0.9" 2025-10-17),JAVA_HOME 也显示为正确的路径,那么恭喜你,Java 环境已经成功配置!
使用 YUM/DNF 包管理器安装(快速简单)
这种方式适合快速搭建开发环境或测试环境,由系统包管理器自动处理依赖和路径。
检查可用的 JDK 版本
CentOS 7/8/9 的官方源中通常包含 OpenJDK。
# CentOS 7/8 使用 yum sudo yum list java-* # CentOS 8/9 使用 dnf (推荐) sudo dnf list java-*
你会看到很多可用的版本,如 java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk 等。
安装 JDK
选择一个你需要的版本进行安装,安装 OpenJDK 17:
# CentOS 7/8 sudo yum install java-17-openjdk java-17-openjdk-devel # CentOS 8/9 (推荐) sudo dnf install java-17-openjdk java-17-openjdk-devel
java-17-openjdk:这是 JRE 的部分。java-17-openjdk-devel:这是 JDK 的开发工具部分,包含了javac。务必同时安装这两个包!
安装过程中,系统会自动处理依赖关系,并设置好环境变量。
验证安装
验证步骤和方法一完全相同:
java -version javac -version echo $JAVA_HOME
你会看到 /usr/lib/jvm/java-17-openjdk-.../ 这样的 JAVA_HOME 路径。
高级主题:切换多个 Java 版本
如果你的服务器上需要同时存在多个 Java 版本(一个项目跑 Java 8,另一个跑 Java 17),你可以使用 update-alternatives 工具来管理。
注册 JDK 版本
假设你已经通过方法一安装了 JDK 8 到 /usr/local/java/jdk8,JDK 17 是通过 DNF 安装的。
# 注册 JDK 8 # --install 目标链接名 命名路径 优先级 sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk8/bin/java 1080 sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk8/bin/javac 1080 # DNF 安装的 JDK 17 通常已经自动注册,如果没有,可以手动注册 # 查找 JDK 17 的实际路径 (通常是 /usr/lib/jvm/java-17-openjdk-.../bin/java) sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-17.0.9.x86_64/bin/java 1709 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-17.0.9.x86_64/bin/javac 1709
注意:优先级只是一个数字,数字越大,优先级越高。
切换 Java 版本
执行以下命令,系统会提示你选择使用哪个 Java 版本:
sudo update-alternatives --config java sudo update-alternatives --config javac
选择你想要的版本编号,然后按回车。
验证切换
再次执行 java -version,你会发现版本已经改变。
| 特性 | 手动安装 (推荐) | YUM/DNF 安装 |
|---|---|---|
| 优点 | - 灵活,可安装任意版本(如 Oracle JDK) - 安装路径自定义,干净整洁 - 适合生产环境,易于管理多版本 |
- 简单快速,一条命令搞定 - 自动处理依赖 - 由系统包管理器维护,方便升级/卸载 |
| 缺点 | - 步骤较多,需要手动配置环境变量 - 需要手动处理多版本切换 |
- 版本可能不是最新的 - 路径固定,不够灵活 - 混合源可能造成冲突 |
| 适用场景 | - 生产服务器 - 需要特定版本 JDK 的项目 - 需要精确控制环境的开发者 |
- 快速搭建开发/测试环境 - 初学者 - 对系统路径没有特殊要求 |
对于绝大多数开发者和小型项目,方法一(手动安装) 是最稳定和可控的选择,希望这份详细的指南能帮助你顺利完成 Java 环境的配置!
