杰瑞科技汇

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

概览

在 Linux/Ubuntu 中,Java 环境变量主要通过以下几个环境变量来控制:

Ubuntu Java环境变量如何正确配置?-图1
(图片来源网络,侵删)
  1. JAVA_HOME: 指向 Java 安装目录的绝对路径,许多 Java 应用程序(如 Tomcat、Maven、IntelliJ IDEA)和构建工具需要这个变量来定位 JDK。
  2. PATH: 包含可执行文件的目录列表,系统会在这个列表中查找命令(如 java, javac),我们需要将 $JAVA_HOME/bin 添加到 PATH 中,这样你就可以在终端的任何位置直接使用 java 命令。

第一步:安装 Java

在配置环境变量之前,你必须先安装 Java,在 Ubuntu 中,通常有两种选择:

安装 OpenJDK (推荐,免费且开源)

这是最常见和推荐的方式,OpenJDK 是 Java 平台的官方开源实现。

  1. 更新包列表

    sudo apt update
  2. 安装 OpenJDK 根据你的需求选择版本,目前主流的是 JDK 11 和 JDK 17 (LTS)。

    Ubuntu Java环境变量如何正确配置?-图2
    (图片来源网络,侵删)
    • 安装 JDK 17 (推荐,长期支持版本)

      sudo apt install openjdk-17-jdk
    • 安装 JDK 11 (另一个流行的 LTS 版本)

      sudo apt install openjdk-11-jdk
    • 安装 JDK 8 (旧版,LTS)

      sudo apt install openjdk-8-jdk

安装完成后,你可以通过以下命令验证是否安装成功:

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

你会看到类似下面的输出,显示你安装的 Java 版本。

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

第二步:查找 Java 安装路径

JAVA_HOME 必须指向 JDK 的安装目录,而不是 JRE,JDK 包含了开发工具(如 javac),而 JRE 只包含运行时环境。

使用 update-java-alternatives 命令可以轻松找到所有已安装的 Java 版本的路径:

sudo update-java-alternatives --list

输出会类似这样,显示了不同的 Java 版本及其对应的路径:

java-1.8.0-openjdk-amd64  /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-11-openjdk-amd64      /usr/lib/jvm/java-11-openjdk-amd64
java-17-openjdk-amd64      /usr/lib/jvm/java-17-openjdk-amd64

注意:你需要复制你想要使用的那个版本的路径,如果你使用 JDK 17,那么你的 JAVA_HOME 应该是: /usr/lib/jvm/java-17-openjdk-amd64


第三步:设置环境变量

这里有几种方法来设置环境变量,范围不同,请根据你的需求选择。

仅对当前用户生效 (推荐)

这种方法只影响你当前登录的用户,不会影响系统中的其他用户,更安全。

  1. 打开终端配置文件 通常使用 ~/.bashrc~/.zshrc (如果你使用 Zsh shell)。

    # 对于使用 Bash 的用户 (Ubuntu 默认)
    nano ~/.bashrc
    # 对于使用 Zsh 的用户 (Oh My Zsh 用户)
    nano ~/.zshrc
  2. 在文件末尾添加以下内容 将下面的 <java_install_path> 替换为你上一步中复制的实际路径。

    # 设置 JAVA_HOME
    export JAVA_HOME=<java_install_path>
    #  export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    # 将 $JAVA_HOME/bin 添加到 PATH
    export PATH=$PATH:$JAVA_HOME/bin

    解释:

    • export: 将变量设置为环境变量,使其在该 shell 及其子进程中可用。
    • ~/.bashrc: 这个文件在每次打开新的终端时都会被加载。
  3. 保存并关闭文件

    • nano 编辑器中,按 Ctrl + X
    • Y 确认保存。
    • Enter 确认文件名。
  4. 使配置立即生效 你可以关闭当前终端并重新打开一个,或者运行以下命令让当前终端加载新的配置:

    # 对于 Bash
    source ~/.bashrc
    # 对于 Zsh
    source ~/.zshrc

对所有用户生效 (需要谨慎)

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

  1. 使用 sudo 打开文件

    sudo nano /etc/environment
  2. 添加或修改 PATHJAVA_HOME 这个文件需要用 key="value" 的格式,如果文件已有 PATH 变量,只需在末尾添加 $JAVA_HOME/bin,如果没有 JAVA_HOME,则需添加。

    # 文件内容可能类似这样:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    JAVA_HOME="<java_install_path>"

    重要:确保 JAVA_HOME 的值用引号括起来,PATH 变量末尾已经包含了 $JAVA_HOME/bin

  3. 保存并关闭文件 (Ctrl + X, Y, Enter)。

  4. 重新登录或重启系统 修改 /etc/environment 后,通常需要重新登录或重启系统才能使所有用户的环境变量生效。


第四步:验证配置

无论你使用哪种方法,最后都需要验证环境变量是否设置正确。

  1. 检查 JAVA_HOME

    echo $JAVA_HOME

    如果设置成功,它会输出你设置的 Java 安装路径。

  2. 检查 PATH

    echo $PATH

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

  3. 再次检查 Java 命令

    java -version
    javac -version

    确保它们指向你刚刚配置的 Java 版本。

  4. (可选) 高级验证 你可以创建一个简单的 Java 文件来测试编译和运行。

    # 创建一个测试文件
    echo 'public class Test { public static void main(String[] args) { System.out.println("Java is working!"); } }' > Test.java
    # 编译
    javac Test.java
    # 运行
    java Test

    如果看到输出 "Java is working!",那么恭喜你,Java 环境变量已经完全配置成功!

    # 清理测试文件
    rm Test.java Test.class

常见问题与注意事项

  • JAVA_HOME 未定义或指向错误路径 这是最常见的问题,请确保 JAVA_HOME 指向的是 JDK 目录(包含 libbin 等文件夹),而不是 JRE 目录。

    # 检查 $JAVA_HOME 是否指向了正确的 bin 目录
    ls $JAVA_HOME/bin/java
    # 如果命令成功,说明路径正确,如果提示 "No such file or directory",则路径错误。
  • 多个 Java 版本冲突 如果你安装了多个 Java 版本,update-java-alternatives 命令可以帮你切换默认版本。

    # 查看所有版本
    sudo update-java-alternatives --list
    # 切换到指定版本 (例如切换到 JDK 11)
    sudo update-java-alternatives --set java-11-openjdk-amd64

    切换后,java -version 的输出也会随之改变。

  • IDE (如 IntelliJ IDEA) 不识别环境变量 有时 IDE 会使用自己的 JDK 配置,而忽略系统环境变量,请确保在 IDE 的项目设置或全局设置中,正确配置了 SDK 的路径,通常就是你的 JAVA_HOME 路径,将 IDE 的 SDK 设置为 "Use SDK from environment variables" 是一个好习惯。

希望这份详细的指南能帮助你成功在 Ubuntu 上配置 Java 环境变量!

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