杰瑞科技汇

Centos如何正确配置Java环境变量?

总览

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

Centos如何正确配置Java环境变量?-图1
(图片来源网络,侵删)
  1. 检查系统是否已安装 Java (推荐)
  2. 安装 Java 开发工具包 (JDK) (如果未安装)
  3. 查找 Java 的安装路径
  4. 配置环境变量 (JAVA_HOME, PATH)
  5. 验证配置是否成功

第一步:检查是否已安装 Java

在开始之前,最好先检查一下系统是否已经安装了 Java,打开终端,运行以下命令:

java -version

可能出现的几种情况:

  1. 已安装,显示版本信息:

    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,您可以跳到 第三步 来查找它的安装路径。

    Centos如何正确配置Java环境变量?-图2
    (图片来源网络,侵删)
  2. 已安装但未配置环境变量:

    bash: java: command not found

    这说明 Java 的可执行文件路径没有被添加到系统的 PATH 环境变量中,您仍然需要完成 第三、四、五步 来正确配置。

  3. 未安装:

    bash: java: command not found

    java -versionjavac -version (检查编译器) 都提示命令未找到,说明您需要先安装 JDK,请继续下一步。

    Centos如何正确配置Java环境变量?-图3
    (图片来源网络,侵删)

第二步:安装 Java JDK (如果未安装)

在 CentOS 上,推荐使用 yumdnf 包管理器来安装 OpenJDK,这是最简单、最稳定的方式。

使用 YUM/DNF 安装 (推荐)

CentOS 7 及更高版本通常使用 yumdnfdnfyum 的升级版,在 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 -versionjavac -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/javaJAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64


第四步:配置环境变量

有两种主要的方式来配置环境变量:用户级系统级

  • 用户级:只对当前登录的用户生效,推荐普通开发者使用。
  • 系统级:对系统所有用户生效,需要 root 权限,修改需谨慎。

为当前用户配置 (推荐)

这种方式更安全,不会影响其他用户。

  1. 打开并编辑配置文件 打开当前用户的 shell 配置文件,通常是 ~/.bashrc~/.bash_profile,对于大多数现代 Linux 发行版,~/.bashrc 是更常用的选择。

    nano ~/.bashrc

    (您也可以使用 vim, gedit 等其他编辑器)

  2. 在文件末尾添加以下内容 将上一步中找到的 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 等。
  3. 保存并退出nano 中,按 Ctrl + X,然后按 Y,最后按 Enter

  4. 让配置立即生效 您可以关闭并重新打开终端,或者运行以下命令来加载最新的配置:

    source ~/.bashrc

为所有用户配置 (需要 Root 权限)

如果您希望系统上的所有用户都能使用这个 Java 环境,可以修改 /etc/profile 文件。

  1. 使用 root 权限编辑文件

    sudo nano /etc/profile
  2. 在文件末尾添加以下内容 同样,替换路径为您自己的 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
  3. 保存并退出

  4. 让配置立即生效 所有用户都需要重新登录才能生效,或者执行 source /etc/profile,但更推荐让用户自己重新登录。


第五步:验证配置

这是最后也是最关键的一步,确保所有配置都正确无误。

  1. 验证 JAVA_HOME

    echo $JAVA_HOME

    如果配置成功,它会输出您设置的 Java 路径。

  2. 验证 PATH

    echo $PATH

    检查输出中是否包含了 $JAVA_HOME/bin 的路径。

  3. 验证 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 位置,是最佳实践。
分享:
扫描分享到社交APP
上一篇
下一篇