杰瑞科技汇

Linux配置Java环境变量,具体步骤是什么?

核心概念

在开始之前,我们需要理解几个关键的环境变量:

Linux配置Java环境变量,具体步骤是什么?-图1
(图片来源网络,侵删)
  1. JAVA_HOME:

    • 作用: 指向你安装的 Java JDK 的根目录。
    • 为什么重要: 很多 Java 应用程序和服务器(如 Tomcat、Jetty)都需要通过这个变量来找到 JDK 的安装位置,它是一个“锚点”,其他工具依赖它。
  2. PATH:

    • 作用: 操作系统查找可执行文件的路径列表。
    • 为什么重要: 我们需要将 Java 的可执行文件(如 java, javac, jar 等)所在的目录(通常是 $JAVA_HOME/bin)添加到 PATH 中,这样,你就可以在任何目录下直接输入 javajavac 来运行它们,而无需输入完整的路径。

第一步:安装 Java JDK

在配置环境变量之前,你必须先安装 Java JDK,主要有两种方式:使用包管理器(推荐)或手动下载安装。

使用包管理器安装 (推荐)

这是最简单、最推荐的方式,尤其是在 Debian/Ubuntu 或 CentOS/RHEL 系统上。

Linux配置Java环境变量,具体步骤是什么?-图2
(图片来源网络,侵删)

Debian / Ubuntu 系统

使用 apt 安装 OpenJDK(Java 的开源实现)。

# 更新软件包列表
sudo apt update
# 安装 OpenJDK 17 (LTS版本,推荐)
sudo apt install openjdk-17-jdk
# 如果你需要其他版本,11 或 8,可以替换版本号
# sudo apt install openjdk-11-jdk
# sudo apt install openjdk-8-jdk

CentOS / RHEL / Fedora 系统

使用 dnfyum 安装 OpenJDK。

Linux配置Java环境变量,具体步骤是什么?-图3
(图片来源网络,侵删)
# 使用 dnf (CentOS 8+, RHEL 8+, Fedora)
sudo dnf install java-17-openjdk-devel
# 使用 yum (CentOS 7, RHEL 7)
# sudo yum install java-17-openjdk-devel
# 同样,可以替换版本号,如 java-11-openjdk-devel

手动下载并安装 JDK

如果你需要特定版本(如 Oracle JDK 或 Adoptium 的 Temurin),可以手动下载。

  1. 下载 JDK: 访问 Adoptium (Eclipse Temurin)Oracle JDK 等网站,下载适用于 Linux 的 .tar.gz 压缩包。

  2. 解压: 将下载的文件解压到一个你选择的目录,/usr/local/

    # 假设下载的文件在 ~/Downloads 目录下
    sudo tar -xzf ~/Downloads/jdk-17.0.8_linux-x64_bin.tar.gz -C /usr/local/
  3. 创建符号链接 (可选但推荐): 为了方便升级和管理,可以创建一个符号链接。

    # 进入 /usr/local 目录
    cd /usr/local
    # 创建一个名为 "java" 的符号链接,指向实际的 JDK 版本目录
    # 请将 jdk-17.0.8 替换为你解压后的实际目录名
    sudo ln -s jdk-17.0.8 java

第二步:查找 Java 安装路径

在配置环境变量之前,我们需要知道 JDK 的确切安装路径。

  • 如果你使用包管理器安装,路径通常是固定的,

    • Debian/Ubuntu: /usr/lib/jvm/java-17-openjdk-amd64/
    • CentOS/RHEL: /usr/lib/jvm/java-17-openjdk-*/amd64/ (星号代表具体版本号)
  • 如果你手动安装,路径就是你解压到的目录,

    • /usr/local/java/ (如果你创建了符号链接)
    • /usr/local/jdk-17.0.8/ (如果没有符号链接)

使用命令查找路径

最可靠的方法是使用 update-java-alternatives (Debian/Ubuntu) 或 alternatives (CentOS/RHEL) 命令。

对于 Debian/Ubuntu:

# 列出所有已安装的 Java 版本
sudo update-java-alternatives --list
# 输出示例:
# java-1.8.0-openjdk-amd64      1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
# java-11-openjdk-amd64          1103       /usr/lib/jvm/java-11-openjdk-amd64
# java-17-openjdk-amd64          1171       /usr/lib/jvm/java-17-openjdk-amd64
# 选择你想要使用的版本,java-17-openjdk-amd64
# 记下它的路径,/usr/lib/jvm/java-17-openjdk-amd64

对于 CentOS/RHEL:

# 列出所有已安装的 Java 版本
sudo alternatives --display java
# 输出示例:
# java - status is manual.
#   link currently points to /usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.el7_9.x86_64/bin/java
#   slave javac: /usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.el7_9.x86_64/bin/javac
# ...
# /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/bin/java - priority 1800
# /usr/lib/jvm/java-11-openjdk-11.0.16.0.1-1.el7_9.x86_64/bin/java - priority 1101
# /usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.el7_9.x86_64/bin/java - priority 1001
# 记下你想要使用的版本的路径,/usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.el7_9.x86_64

第三步:配置环境变量

我们将修改两个主要文件:/etc/profile (对所有用户生效) 或 ~/.bashrc (仅对当前用户生效)。推荐对单个用户使用 ~/.bashrc

仅对当前用户生效

这是最常见和推荐的个人开发环境配置。

  1. 打开配置文件:

    nano ~/.bashrc
  2. 在文件末尾添加以下内容:

    • 请务必将 /path/to/your/jdk 替换为你在第二步中找到的实际路径!
    # 设置 Java 环境
    export JAVA_HOME=/path/to/your/jdk
    export PATH=$PATH:$JAVA_HOME/bin
    • 示例: 如果你使用包管理器在 Ubuntu 上安装了 OpenJDK 17,路径是 /usr/lib/jvm/java-17-openjdk-amd64就是:
      export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
      export PATH=$PATH:$JAVA_HOME/bin
    • 示例: 如果你手动安装并创建了符号链接,路径是 /usr/local/java就是:
      export JAVA_HOME=/usr/local/java
      export PATH=$PATH:$JAVA_HOME/bin
  3. 保存并退出:

    • nano 中,按 Ctrl + X,然后按 Y,最后按 Enter
  4. 使配置生效: 你可以关闭当前终端窗口并重新打开一个,或者运行以下命令:

    source ~/.bashrc

对所有用户生效

如果你需要为系统上的所有用户配置 Java 环境(例如在服务器上)。

  1. 打开配置文件:

    sudo nano /etc/profile
  2. 在文件末尾添加以下内容:

    # Set Java environment for all users
    export JAVA_HOME=/path/to/your/jdk
    export PATH=$PATH:$JAVA_HOME/bin
  3. 保存并退出

  4. 使配置生效: 所有用户都需要注销并重新登录才能使更改生效,或者,你可以运行 source /etc/profile,但这只会对当前终端会话生效。


第四步:验证配置

配置完成后,必须进行验证,确保一切正常。

  1. 检查 JAVA_HOME:

    echo $JAVA_HOME

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

  2. 检查 PATH:

    echo $PATH

    在输出的路径列表中,你应该能看到 $JAVA_HOME/bin 被正确添加。

  3. 检查 Java 版本:

    java -version

    这会显示当前 Java 的版本信息,

    openjdk version "17.0.8" 2025-07-18
    OpenJDK Runtime Environment Temurin-17.0.8+7 (build 17.0.8+7)
    OpenJDK 64-Bit Server VM Temurin-17.0.8+7 (build 17.0.8+7, mixed mode, sharing)
  4. 检查 Java 编译器:

    javac -version

    这会显示 Java 编译器的版本,应该与 java -version 的版本一致。


常见问题与解决方案

  • 问题: 运行 java -version 提示 command not found

    • 原因: PATH 配置有误,或者 source 命令没有执行。
    • 解决: 重新检查 ~/.bashrc/etc/profile 中的 PATH 变量,确保 $JAVA_HOME/bin 已正确添加,然后再次运行 source ~/.bashrc
  • 问题: echo $JAVA_HOME 输出为空。

    • 原因: JAVA_HOME 变量没有设置成功。
    • 解决: 检查配置文件中的拼写是否正确,路径是否存在,然后再次 source 配置文件。
  • 问题: 系统上有多个 Java 版本,但 java -version 总是显示旧版本。

    • 原因: 你可能使用了 alternatives 命令,但没有正确设置默认版本。
    • 解决 (CentOS/RHEL):
      # 查看可用的 Java 版本
      sudo alternatives --config java
      # 然后根据提示输入数字来选择默认版本
    • 解决 (Debian/Ubuntu):
      # 设置默认的 Java 版本
      sudo update-java-alternatives --set java-17-openjdk-amd64
      # 请将 java-17-openjdk-amd64 替换为你想设为默认的版本名
  • 问题: 修改了配置文件后,source 了,但新开的终端还是不生效。

    • 原因: 你可能修改的是 /etc/profile,但新开的终端是由 ~/.bashrc~/.bash_profile 加载的,而后者没有 source /etc/profile
    • 解决: 在你自己的 ~/.bashrc 文件末尾添加一行 source /etc/profile,或者直接修改 ~/.profile~/.bash_profile,最简单的办法还是直接修改 ~/.bashrc 来管理自己的环境变量。

  1. 安装: 使用 apt/dnf 或手动下载安装 JDK。
  2. 查找路径: 使用 update-java-alternatives --listalternatives --display java 找到准确的 JDK 路径。
  3. 配置: 编辑 ~/.bashrc (推荐) 或 /etc/profile,设置 JAVA_HOMEPATH
  4. 生效: 运行 source ~/.bashrc 或重启终端。
  5. 验证: 使用 echo $JAVA_HOME, java -version, javac -version 确认配置成功。

遵循以上步骤,你就可以成功地在 Linux 系统上配置好 Java 开发环境。

分享:
扫描分享到社交APP
上一篇
下一篇