杰瑞科技汇

ubuntu的java配置环境

在 Ubuntu 上安装和配置 Java 主要有两种方法:

  1. 使用 APT 包管理器(推荐新手):简单快捷,系统会自动处理依赖关系,但可能不是最新版本,且管理多个版本不如 sdkman 方便。
  2. 使用 SDKMAN!(推荐开发者):是目前最流行、最强大的 Java 环境管理工具,它可以轻松安装、切换和管理多个 Java 版本(JDK, JRE, GraalVM等),是专业开发者的首选。

本指南将详细介绍这两种方法。


使用 APT 包管理器(适用于 Ubuntu 20.04/22.04)

这种方法通过系统的软件源来安装,非常简单。

步骤 1:更新软件包列表

打开终端(快捷键 Ctrl+Alt+T),更新你的本地包索引,以确保你获取的是最新的软件包信息。

sudo apt update

步骤 2:安装 OpenJDK

OpenJDK 是 Java 的开源实现,是绝大多数开发场景的首选,Ubuntu 的软件源中通常包含多个版本的 OpenJDK,OpenJDK 11, 17, 21 等。

推荐安装最新的 LTS (长期支持) 版本,OpenJDK 17 或 21。

安装 OpenJDK 17:

sudo apt install openjdk-17-jdk

安装 OpenJDK 21:

sudo apt install openjdk-21-jdk

如果你需要其他版本,只需将 1721 替换为你想要的版本号即可,openjdk-8-jdk

安装过程中,系统会自动安装 Java 开发工具包,包括:

  • javac: Java 编译器
  • java: Java 虚拟机
  • jar: 用于打包 Java 文件的工具
  • 以及其他相关的库和文档。

步骤 3:验证安装

安装完成后,验证 javajavac 命令是否可用。

检查 Java 版本:

java -version

检查编译器版本:

javac -version

如果看到类似以下的输出,说明安装成功:

openjdk version "17.0.10" 2025-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04, mixed mode, sharing)

步骤 4:配置环境变量(可选)

APT 安装的 JDK 会自动配置好环境变量,update-alternatives 机制会处理 javajavac 命令的链接,你可以跳过此步骤。

但如果需要手动配置(你安装了多个版本并想指定默认使用哪个),可以这样做:

  1. 查找 JDK 安装路径

    sudo update-alternatives --config java

    这个命令会列出所有已安装的 Java 版本及其路径,记下你想要设置为默认版本的路径。

  2. 编辑环境变量文件: 打开 /etc/environment 文件(需要管理员权限):

    sudo nano /etc/environment

    在文件末尾添加或修改 JAVA_HOME 变量:

    JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

    注意:请将路径替换为你自己系统中 JDK 的实际路径,你可以通过 ls /usr/lib/jvm/ 来查看所有已安装的 JDK。

  3. 使配置生效: 保存并关闭文件后,注销并重新登录终端,或者运行以下命令使配置立即生效:

    source /etc/environment
  4. 验证 JAVA_HOME

    echo $JAVA_HOME

    如果输出为你设置的路径,则配置成功。


使用 SDKMAN!(强烈推荐)

SDKMAN! 是一个命令行工具,用于在类 Unix 系统(如 macOS, Linux, Cygwin, WSL2)上管理多个软件开发工具包,尤其是 Java。

步骤 1:安装 SDKMAN!

打开终端,执行以下命令一键安装:

curl -s "https://get.sdkman.io" | bash

安装过程中会提示你是否配置 SDKMAN! 的环境变量,输入 y 并回车。

步骤 2:重新加载 Shell

为了让 SDKMAN! 命令在当前终端会话中生效,需要重新加载配置文件。

source "$HOME/.sdkman/bin/sdkman-init.sh"

为了方便,你可以将上述命令添加到你的 Shell 配置文件(如 ~/.bashrc, ~/.zshrc)的末尾,这样每次打开新终端都会自动加载。

步骤 3:使用 SDKMAN! 安装 Java

现在你可以用 sdk 命令来管理 Java 了。

查看所有可用的 Java 版本

sdk list java

你会看到一个长长的列表,包括:

  • dist-*: 官方发布的版本(如 dist-zulu, dist-temurin
  • libs-*: 供应商特定的版本(如 libs-openjdk

安装一个 Java 版本

推荐安装 Temurin (Adoptium) 或 Zulu,它们是稳定且广泛使用的 OpenJDK 发行版。

安装最新的 LTS 版本(Java 21):

sdk install java 21.0.2-tem

注意0.2-tem 是一个简写,sdk list java 会告诉你完整的可用版本标识符。

安装 Java 17:

sdk install java 17.0.10-tem

步骤 4:切换 Java 版本

这是 SDKMAN! 最强大的功能,如果你安装了多个 Java 版本,可以轻松切换。

查看当前已安装的版本

sdk current java

切换默认使用的 Java 版本

sdk default java 21.0.2-tem

临时在当前终端会话中切换版本

sdk use java 17.0.10-tem

步骤 5:验证安装

和之前一样,使用 java -versionjavac -version 来验证。

更重要的是,SDKMAN! 会自动为你设置好 JAVA_HOME

echo $JAVA_HOME

输出会是类似 /home/your_user/.sdkman/candidates/java/current 的路径,它会自动指向你当前激活的 Java 版本。


总结与对比

特性 APT 包管理器 SDKMAN!
安装难度 非常简单 简单,只需一次安装
版本管理 困难,依赖 update-alternatives 非常容易,一键安装、切换、删除
获取版本 依赖 Ubuntu 官方软件源,可能不是最新 可以获取几乎所有官方和供应商的最新版本
JAVA_HOME 需手动配置 自动配置,非常智能
适用人群 新手,只需要一个稳定版本的 Java 所有开发者,特别是需要频繁切换 Java 版本的人
推荐度 ⭐⭐⭐ ⭐⭐⭐⭐⭐

最终建议

  • 如果你是 Ubuntu 新手,或者只需要一个稳定的 Java 环境来完成特定任务:使用 方法一 (APT) 就完全足够了。
  • 如果你是 Java 开发者,或者你未来可能会接触需要不同 Java 版本的项目:强烈建议你花几分钟时间学习并使用 方法二 (SDKMAN!),它会为你未来的开发工作节省大量时间和精力,是现代 Java 开发者的标准配置之一。
分享:
扫描分享到社交APP
上一篇
下一篇