本页内容

  • 前置条件
  • 简介
  • 安装 Java OpenJDK 安装 Java OpenJDK 11 安装 Java OpenJDK 17
  • 安装 Java Oracle JDK 安装 Java Oracle JDK 17 安装 Java Oracle JDK 20
  • 设置默认 Java 版本
  • 配置 JAVA_HOME 环境变量 配置 JAVA_HOME 系统级 配置 JAVA_HOME 用户级
  • 总结
  • 安装 Java OpenJDK 11
  • 安装 Java OpenJDK 17
  • 安装 Java Oracle JDK 17
  • 安装 Java Oracle JDK 20
  • 配置 JAVA_HOME 系统级
  • 配置 JAVA_HOME 用户级

Java 是 Sun Microsystem 于 1995 年创建的基于类且面向对象的编程语言。Java 是一种高级编程语言,设计目标是可移植,并尽可能少地依赖就能在任何系统上运行。

Java 编程语言的总体目的是让开发者一次编写程序或应用程序,但应用程序本身可以在多种操作系统上的任何系统中运行。

在本指南中,我将向你展示如何在 AlmaLinux 9 服务器上安装 Java OpenJDK 和/或 Java Oracle JDK。此外,我们还将介绍 JAVA_HOME 环境变量的配置以及如何设置默认 Java 版本。

前置条件

要继续本指南,请确保你具备以下条件:

  • 一台 AlmaLinux 9 服务器 - 本演示使用主机名为 almalinux9-server 的 AlmaLinux 9。
  • 一个具有 sudo/root 管理员权限的非 root 用户。

简介

在开始之前,你必须决定要使用哪个 Java 版本。你必须了解以下两个 Java 版本:

  • Java Oracle JDK:由 Sun MicroSystems 提供的 Java SE(Standard Edition,标准版)实现,该公司在 2009 年被 Oracle 收购,并由此成为 Oracle Java 或 Oracle JDK。
  • Java OpenJDK:Oracle JDK 的开源版本,具有相同的代码库。OpenJDK 的主要贡献者是 Oracle 以及开放的 Java 社区。

以下是 Oracle JDK 与 OpenJDK 之间的一些主要区别:

  • 许可证:Oracle JDK 拥有用于获取软件更新的商业许可证,而 OpenJDK 是完全开源的,每 6 个月更新一次。
  • 功能:Oracle JDK 附带更多功能,用于商业许可证。
  • 性能:关于性能存在较大争议。Oracle JDK 性能更好,但 OpenJDK 的性能正在快速持续提升。

接下来,什么是 JDK 和 JRE?

  • JRE 即 Java Runtime Environment(Java 运行时环境),提供运行已编译 Java 应用程序所需的全部内容,但不能用于创建或编译 Java 应用程序。
  • JDK 即 Java Development Kit(Java 开发工具包),提供用于运行和编写 Java 应用程序的完整工具。JDK 包含 JRE 软件包,还包含 javac、jdb、jshell 等额外工具。

安装 Java OpenJDK

默认情况下,AlmaLinux 仓库提供多个版本的 Java OpenJDK,包括 OpenJDK v11 和 v17。你可以使用 DNF 包管理器安装这两个 Java OpenJDK 版本。

安装 Java OpenJDK 11

要安装 Java OpenJDK 11,请运行以下 dnf 命令。出现提示时,输入 y 确认并按 ENTER。

sudo dnf install java-11-openjdk java-11-openjdk-devel

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

Java 安装完成后,输入以下命令以验证 Java 版本。

java --version

你应该会看到类似以下的输出:

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

安装 Java OpenJDK 17

在撰写本文时,AppStream 仓库中 Java OpenJDK 的最新版本为 v17。运行以下 dnf 命令以安装 Java OpenJDK 17。

sudo dnf install java-17-openjdk java-17-openjdk-devel

输入 y 确认安装,然后按 ENTER。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

Java 安装完成后,运行以下命令以验证 Java 版本。

java --version

以下输出表明已安装 Java OpenJDK 17。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

安装 Java Oracle JDK

如果你决定安装并使用 Java Oracle JDK,请执行以下步骤。

首先,运行以下命令在你的系统中安装 curl。

sudo dnf install curl -y

目前,Oracle 提供两个版本的 Java Oracle JDK。在本示例中,你将学习如何安装 Java Oracle JDK 17(最新的 LTS(Long Term Supports,长期支持)版本)以及 Java Oracle JDK 20(Java 的最新版本)。

你可以通过 tar.gz 安装 Oracle JDK,也可以使用适用于 RedHat 系发行版的 RPM 软件包,或适用于 Debian 系发行版的 DEB 软件包进行安装。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

安装 Java Oracle JDK 17

运行以下 curl 命令下载 Java Oracle JDK 17 的 RPM 软件包。

curl -qO https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm

下载过程完成后,使用以下命令安装 Java Oracle JDK 17 的 RPM 文件。

sudo rpm -ivh jdk-17_linux-x64_bin.rpm

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

安装完成后,使用以下命令检查 Java 版本。

java --version

你会注意到系统中已安装 Java SE Runtime Environment(JRE)17。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

安装 Java Oracle JDK 20

在撰写本文时,最新的 Oracle JDK 版本为 v20。使用以下 curl 命令下载其 RPM 文件。

curl -qO https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.rpm

之后,使用以下 rpm 命令安装 Java Oracle JDK 20。

sudo rpm -ivh jdk-20_linux-x64_bin.rpm

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

Oracle JDK 安装完成后,运行以下命令验证 Java 版本。

java --version

你将看到已安装 Java SE Runtime Environment(JRE)20。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

设置默认 Java 版本

系统中安装了多个 Java 版本后,你应该选择要用于运行应用程序的默认 Java 版本。推荐的做法是借助 AlmaLinux 系统上的 'alternatives' 命令来完成。

输入以下命令以获取系统中 alternatives 命令的列表。

sudo alternatives --list

如果你安装了多个 Java 版本,应该会看到类似以下的输出:

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

现在运行以下命令来设置默认 Java 版本。输入你偏好的 Java 版本对应的数字,然后按 ENTER 确认。

sudo alternatives --config java

在以下示例中,我们将使用 Java OpenJDK 17,即编号 1。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

接下来,运行以下命令验证 Java 版本。如果成功,默认 Java 版本将更改为 OpenJDK 17。

java --version

你可能还需要类似地更改默认 javac 工具版本,方法是使用 alternatives 命令,选择默认 javac 版本,然后验证 javac 版本。

sudo alternatives --config javac
javac --version

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

最后,如果你打算使用 Java OpenJDK,还可以考虑使用以下命令设置默认的 JDK 和 JRE。

sudo alternatives --config jre_openjdk
sudo alternatives --config java_sdk_openjdk

以下是更改默认 JRE 时的截图。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

以下是更改默认 JDK 时的截图。

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

配置 JAVA_HOME 环境变量

当你打算使用 Apache Tomcat 和 Gradle 等第三方应用程序时,必须在 AlmaLinux 服务器上配置默认的 JAVA_HOME 环境变量。

你可以将 JAVA_HOME 环境变量设置为系统级或用户级的配置。

系统级配置 JAVA_HOME

要在系统范围内使用 JAVA_HOME,你可以利用 /etc/profile.d/ 目录下的 bash 配置文件,该文件会在登录时自动加载。

使用以下 nano 编辑器命令创建新脚本 /etc/profile.d/java.sh。

sudo nano /etc/profile.d/java.sh

插入以下配置。在本示例中,我们将使用 Java OpenJDK 17 来设置 JAVA_HOME。

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

完成后保存并退出编辑器。

现在运行以下命令,使脚本 /etc/profile.d/java.sh 可执行并将其加载到当前会话中。

sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh

使用以下命令验证 JAVA_HOME 环境变量。如果操作成功,你应该看到 JAVA_HOME 环境变量指向你默认的 OpenJDK 目录。

echo $JAVA_HOME

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

用户级配置 JAVA_HOME

如果你希望将 JAVA_HOME 设置为用户级,可以利用登录时自动加载的 ~/.bashrc 脚本。

使用以下命令登录到你的用户。

su - username

使用以下 nano 编辑器命令编辑 ~/.bashrc 文件。

nano ~/.bashrc

将以下配置添加到文件末尾。

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

完成后保存更改并退出编辑器。

现在重新加载 ~/.bashrc 以应用更改,然后使用以下命令验证 JAVA_HOME 环境变量。

source ~/.bashrc
echo $JAVA_HOME

操作成功后,你应该会看到类似以下的输出:

在 AlmaLinux 9 上安装 Java OpenJDK 与 Oracle JDK 并配置环境变量和默认版本

总结

大功告成!你已在 AlmaLinux 9 系统上完成了 Java OpenJDK 和/或 Java Oracle JDK 的安装。你还通过 alternatives 命令配置了默认 Java 版本,并为系统级和用户级配置了 JAVA_HOME 环境变量。现在你可以使用它来开发 Java 应用程序项目,或在系统上部署 Java 应用程序。