总览
整个过程主要分为以下几个步骤:

- 检查系统是否已安装 Java (推荐)
- 安装 Java 开发工具包 (JDK) (如果未安装)
- 查找 Java 的安装路径
- 配置环境变量 (
JAVA_HOME,PATH) - 验证配置是否成功
第一步:检查是否已安装 Java
在开始之前,最好先检查一下系统是否已经安装了 Java,打开终端,运行以下命令:
java -version
可能出现的几种情况:
-
已安装,显示版本信息:
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)如果看到类似输出,说明系统已经安装了 Java,您可以跳到 第三步 来查找它的安装路径。
(图片来源网络,侵删) -
已安装但未配置环境变量:
bash: java: command not found这说明 Java 的可执行文件路径没有被添加到系统的
PATH环境变量中,您仍然需要完成 第三、四、五步 来正确配置。 -
未安装:
bash: java: command not foundjava -version和javac -version(检查编译器) 都提示命令未找到,说明您需要先安装 JDK,请继续下一步。
(图片来源网络,侵删)
第二步:安装 Java JDK (如果未安装)
在 CentOS 上,推荐使用 yum 或 dnf 包管理器来安装 OpenJDK,这是最简单、最稳定的方式。
使用 YUM/DNF 安装 (推荐)
CentOS 7 及更高版本通常使用 yum 或 dnf。dnf 是 yum 的升级版,在 CentOS 8/RHEL 8 中是默认的包管理器。
检查可用的 JDK 版本
# 对于 CentOS 7 yum list java-* # 对于 CentOS 8/RHEL 8 dnf list java-*
您会看到很多可用的版本,java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk 等。
安装指定的 JDK 版本 这里我们以安装 OpenJDK 11 为例,这是一个非常主流且长期支持 (LTS) 的版本。
# 对于 CentOS 7 sudo yum install java-11-openjdk java-11-openjdk-devel # 对于 CentOS 8/RHEL 8 sudo dnf install java-11-openjdk java-11-openjdk-devel
java-11-openjdk: 包含了运行 Java 程序所需的 JRE (Java Runtime Environment)。java-11-openjdk-devel: 包含了编译 Java 代码所需的 JDK (Java Development Kit),如javac,javadoc等,对于开发者来说,安装这个包是必须的。
安装过程中,系统会自动处理依赖关系,完成后,您可以再次运行 java -version 和 javac -version 来验证安装。
第三步:查找 Java 的安装路径
配置环境变量需要知道 JDK 的确切安装路径,最可靠的方法是使用 update-alternatives 工具,它用于管理系统中多个版本的 Java。
sudo update-alternatives --config java
运行此命令后,您会看到一个类似下面的列表:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64/bin/java
+ 2 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/bin/java
Enter to keep the current selection[+], or type selection number:
这个列表显示了系统中所有可用的 Java 版本及其路径,您需要记录下您想使用的那个版本的路径,例如上面标记为 的路径:
/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64
注意: JAVA_HOME 应该指向 JDK 的根目录,而不是 bin 目录,上面的路径就是 JAVA_HOME 的值,如果路径指向的是 /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64/bin/java,JAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64。
第四步:配置环境变量
有两种主要的方式来配置环境变量:用户级 和 系统级。
- 用户级:只对当前登录的用户生效,推荐普通开发者使用。
- 系统级:对系统所有用户生效,需要
root权限,修改需谨慎。
为当前用户配置 (推荐)
这种方式更安全,不会影响其他用户。
-
打开并编辑配置文件 打开当前用户的 shell 配置文件,通常是
~/.bashrc或~/.bash_profile,对于大多数现代 Linux 发行版,~/.bashrc是更常用的选择。nano ~/.bashrc
(您也可以使用
vim,gedit等其他编辑器) -
在文件末尾添加以下内容 将上一步中找到的 Java 路径替换到下面的
YOUR_JAVA_PATH中。# Set Java Environment Variables export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64 export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=...: 定义JAVA_HOME变量。export PATH=$JAVA_HOME/bin:$PATH: 将$JAVA_HOME/bin目录添加到系统的PATH变量的最前面,这样系统在寻找命令时会优先使用这里的java,javac等。
-
保存并退出 在
nano中,按Ctrl + X,然后按Y,最后按Enter。 -
让配置立即生效 您可以关闭并重新打开终端,或者运行以下命令来加载最新的配置:
source ~/.bashrc
为所有用户配置 (需要 Root 权限)
如果您希望系统上的所有用户都能使用这个 Java 环境,可以修改 /etc/profile 文件。
-
使用 root 权限编辑文件
sudo nano /etc/profile
-
在文件末尾添加以下内容 同样,替换路径为您自己的 Java 路径。
# Set Java Environment Variables for all users export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64 export PATH=$JAVA_HOME/bin:$PATH
-
保存并退出
-
让配置立即生效 所有用户都需要重新登录才能生效,或者执行
source /etc/profile,但更推荐让用户自己重新登录。
第五步:验证配置
这是最后也是最关键的一步,确保所有配置都正确无误。
-
验证
JAVA_HOMEecho $JAVA_HOME
如果配置成功,它会输出您设置的 Java 路径。
-
验证
PATHecho $PATH
检查输出中是否包含了
$JAVA_HOME/bin的路径。 -
验证 Java 命令
java -version javac -version
如果都正确输出了您安装的 Java 版本信息,那么恭喜您,Java 环境变量已经成功配置!
总结与常见问题
-
为什么配置后
java -version仍然无效?- 最常见的原因是忘记运行
source ~/.bashrc(或对应的配置文件) 或没有重新打开终端。 - 检查您是否编辑了正确的文件(是
~/.bashrc而不是~/.bash_profile,反之亦然)。 - 检查路径是否正确,有没有拼写错误。
- 最常见的原因是忘记运行
-
如何切换 Java 版本?
- 如果您通过
yum/dnf安装了多个版本的 JDK,可以使用update-alternatives来轻松切换:sudo update-alternatives --config java sudo update-alternatives --config javac
然后根据提示输入您想选择的版本编号。
- 如果您通过
-
JAVA_HOME必须设置吗?- 对于很多 Java 应用程序(如 Tomcat, Maven, Spring Boot 等)
JAVA_HOME是必需的,虽然直接在PATH中配置java命令可以让命令行工作,但JAVA_HOME提供了一个标准的、可预测的 JDK 位置,是最佳实践。
- 对于很多 Java 应用程序(如 Tomcat, Maven, Spring Boot 等)
