杰瑞科技汇

Linux下Java环境变量怎么配置?

核心概念

在开始之前,我们需要理解两个最重要的环境变量:

Linux下Java环境变量怎么配置?-图1
(图片来源网络,侵删)
  1. JAVA_HOME: 指向你的 Java Development Kit (JDK) 安装根目录的路径,很多 Java 应用程序和构建工具(如 Maven、Tomcat)需要通过这个变量来找到 JDK。
  2. PATH: 操作系统的可执行文件搜索路径,我们需要将 JDK 的 bin 目录(包含 java, javac 等命令)添加到 PATH 中,这样你才能在终端的任何位置直接运行这些命令。

第一步:安装 JDK

在配置环境变量之前,你必须先安装好 JDK,在 Linux 上,有几种常见的安装方式。

使用包管理器(推荐,适用于 Ubuntu/Debian)

这是最简单、最推荐的方法,可以自动处理依赖关系。

  1. 更新包列表

    sudo apt update
  2. 安装 OpenJDK 你可以安装不同的版本,OpenJDK 11 或 17。

    Linux下Java环境变量怎么配置?-图2
    (图片来源网络,侵删)
    # 安装 OpenJDK 17 (LTS 版本,推荐)
    sudo apt install openjdk-17-jdk
    # 或者安装 OpenJDK 11 (LTS 版本)
    # sudo apt install openjdk-11-jdk
  3. 验证安装 安装完成后,JDK 通常会自动被配置好,你可以跳到 第三步:验证安装 来检查。

手动下载安装(适用于所有发行版,更灵活)

如果你需要特定版本的 Oracle JDK 或者其他 OpenJDK 发行版(如 Amazon Corretto, Azul Zulu),可以手动下载安装。

  1. 下载 JDK 访问 Oracle JDK 下载页面Adoptium (Eclipse Temurin) 下载页面(推荐,开源免费)。 下载 .tar.gz 格式的压缩包,下载到你的主目录的 Downloads 文件夹。

  2. 创建安装目录 我们会将 JDK 安装在 /usr/lib/jvm/ 目录下。

    sudo mkdir -p /usr/lib/jvm
  3. 解压 JDK 假设你的 JDK 压缩包名为 jdk-17.0.8_linux-x64_bin.tar.gz,并且位于 ~/Downloads

    # 解压到 /usr/lib/jvm/ 目录
    sudo tar -xzvf ~/Downloads/jdk-17.0.8_linux-x64_bin.tar.gz -C /usr/lib/jvm/

    解压后,目录结构会类似 /usr/lib/jvm/jdk-17.0.8/

  4. 创建符号链接(可选但推荐) 创建一个符号链接可以方便地切换或升级 JDK 版本,而无需修改环境变量。

    # 创建一个指向当前 JDK 版本的通用链接
    sudo ln -s /usr/lib/jvm/jdk-17.0.8/ /usr/lib/jvm/java-17-openjdk-amd64

    我们将在设置 JAVA_HOME 时使用这个链接路径,它更稳定。


第二步:设置环境变量

这是核心步骤,我们将修改 Shell 的配置文件来添加 JAVA_HOMEPATH

选择配置文件

  • ~/.bashrc:

    • 作用域: 仅对当前用户生效。
    • 何时加载: 每次你打开一个新的交互式终端(Terminal)时都会加载。
    • 推荐场景: 大多数开发者选择这个,因为它只影响当前用户,更安全,并且每次开新终端都能立即生效。
  • ~/.bash_profile~/.profile:

    • 作用域: 仅对当前用户生效。
    • 何时加载: 当你登录系统时(通过 SSH 登录,或在图形界面登录后打开的第一个终端)。
    • 注意: ~/.bash_profile 不存在,Bash 会尝试读取 ~/.profile,如果两者都存在,~/.bash_profile 优先级更高。
  • /etc/profile/etc/environment:

    • 作用域: 对所有用户生效。
    • 何时加载: 系统启动时或用户登录时。
    • 注意: 需要管理员权限 (sudo),除非你有特殊需求(为服务器上的所有服务设置统一环境),否则不建议普通用户修改。

本指南将以 ~/.bashrc 为例,因为它是最常用和最方便的。

编辑配置文件

  1. 打开 .bashrc 文件 使用你喜欢的文本编辑器,如 nanovim

    nano ~/.bashrc
  2. 添加 Java 环境变量 在文件末尾添加以下内容。请务必根据你的实际安装路径修改 JAVA_HOME 的值。

    # --- Java Environment Variables Start ---
    # 设置 JDK 的安装根目录
    # 如果你使用的是包管理器安装的,路径通常是:
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    # 如果你手动安装,路径可能是:
    # export JAVA_HOME=/usr/lib/jvm/jdk-17.0.8
    # 将 JDK 的 bin 目录添加到 PATH 的最前面
    # 这样可以确保系统优先使用我们设置的 JDK 版本
    export PATH=$JAVA_HOME/bin:$PATH
    # --- Java Environment Variables End ---

    解释:

    • export: 将变量设置为环境变量,使其可以被当前 Shell 启动的所有子进程访问。
    • $JAVA_HOME/bin: 引用 JAVA_HOME 变量,并拼接上 /bin 路径。
    • $PATH: 引用现有的 PATH 变量。
    • 在 Linux 中,PATH 中的路径用冒号分隔。
    • $JAVA_HOME/bin:$PATH: 将 JDK 的 bin 目录放在 PATH 的最前面,这可以防止系统上可能存在的其他旧版 Java 干扰。
  3. 保存并退出

    • nano 中,按 Ctrl + X,然后按 Y,最后按 Enter
    • vim 中,按 Esc,然后输入 wq 并按 Enter
  4. 让配置立即生效 你可以关闭当前终端然后重新打开一个,或者执行以下命令让当前终端的配置立即加载:

    source ~/.bashrc

第三步:验证安装

让我们检查环境变量是否设置正确。

  1. 检查 JAVA_HOME

    echo $JAVA_HOME

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

    /usr/lib/jvm/java-17-openjdk-amd64
  2. 检查 PATH

    echo $PATH

    在输出的路径列表的开头,你应该能看到 $JAVA_HOME/bin 的实际路径。

  3. 检查 Java 版本 这是最重要的验证步骤。

    java -version
    javac -version

    如果一切正常,你会看到类似下面的输出,显示你安装的 Java 版本:

    openjdk version "17.0.8" 2025-07-18
    OpenJDK Runtime Environment (build 17.0.8+7-Ubuntu-0ubuntu122.04)
    OpenJDK 64-Bit Server VM (build 17.0.8+7-Ubuntu-0ubuntu122.04, mixed mode, sharing)

    java -versionjavac -version 的版本号应该一致。


常见问题与解决方法

问题1:java: command not found

  • 原因: PATH 环境变量中没有包含 JDK 的 bin 目录。
  • 解决:
    1. 检查 ~/.bashrc 文件中的 PATH 变量是否正确设置。
    2. 运行 source ~/.bashrc 使配置生效。
    3. 重新打开终端再试。
    4. 确认 JDK 是否已成功安装,使用 ls -l /usr/lib/jvm/ 查看目录是否存在。

问题2:JAVA_HOME 指向了错误的路径

  • 原因: JAVA_HOME 的路径与实际的 JDK 安装路径不匹配。
  • 解决:
    1. 使用 ls -l $JAVA_HOME 命令检查路径是否正确,如果命令报错或显示的不是 JDK 目录,说明路径错了。
    2. 使用 ls /usr/lib/jvm/ 找到正确的 JDK 目录名称。
    3. 编辑 ~/.bashrc 文件,修正 JAVA_HOME 的值,source ~/.bashrc

问题3:多个 Java 版本冲突

  • 现象: 运行 java -version 显示的版本不是你想要的。

  • 原因: 系统上可能安装了多个版本的 Java,或者某个旧版 Java 的路径在 PATH 中排在了你的新 JDK 之前。

  • 解决:

    1. 使用 update-alternatives 工具(在基于 Debian/Ubuntu 的系统上)来管理多个 Java 版本。

      # 检查当前管理的 Java 版本
      sudo update-alternatives --config java
      # 检查管理的 javac 版本
      sudo update-alternatives --config javac

      这个工具会允许你在安装的多个版本之间进行选择。

    2. 如果你手动配置了 PATH,确保你的 $JAVA_HOME/bin 位于 PATH 的最前面,如我们上面所做的那样。

通过以上步骤,你应该就能在 Linux 系统上成功配置好 Java 的环境变量了。

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