如何在基于 RHEL 的 Linux 发行版上安装 Java 17
Java是一种安全、稳定、知名的通用编程语言和计算技术平台,具有许多相互关联的功能。
要运行基于 Java 的应用程序,您必须在服务器上安装Java 。您最需要的是Java 运行时环境 (JRE),它是用于在 Linux 机器上运行 Java 应用程序的软件组件集合。
如果您想开发Java软件应用程序,您需要安装Oracle Java 开发工具包 (JDK),它附带一个完整的JRE包,其中包含用于开发、调试和监控 Java 应用程序的工具,它是 Oracle 支持的Java SE(标准版)版本。
注意:如果您正在寻找开源和免费的JDK版本,请安装OpenJDK ,它在GPL许可下提供与Oracle JDK相同的功能和性能。
在本文中,我们将向您展示如何使用基于 RHEL 的 Linux 发行版(例如CentOS、Fedora、Rocky Linux和AlmaLinux )中的二进制包从EPEL存储库安装OpenJDK 16和Oracle OpenJDK 17(最新版本)来开发和运行 Java 应用程序。
在 CentOS/RHEL 和 Fedora 中安装 OpenJDK 16
在撰写本文时,OpenJDK 16是当前可用的版本,可使用EPEL存储库中的以下命令进行安装。
# yum install java-latest-openjdk # java -version
示例输出
openjdk version "16.0.1" 2021-04-20 OpenJDK Runtime Environment 21.3 (build 16.0.1+9) OpenJDK 64-Bit Server VM 21.3 (build 16.0.1+9, mixed mode, sharing)
在 CentOS/RHEL 和 Fedora 中安装 Oracle OpenJDK 17
要安装Oracle OpenJDK 17,您需要从Java SE 下载页面下载可用于生产的OpenJDK 17或运行以下wget 命令来下载并安装它,如图所示。
# wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
使用以下命令安装该包:
# yum localinstall jdk-17_linux-x64_bin.rpm
接下来,确认安装的Java版本。
# java -version java version "17.0.1" 2021-10-19 LTS Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39) Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
设置默认 Java 版本
如果系统上安装了多个 Java 版本,则需要使用alternatives命令设置默认版本,如图所示。
# alternatives --config java
示例输出
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/java/jdk-17.0.1/bin/java
2 java-latest-openjdk.x86_64 (/usr/lib/jvm/java-16-openjdk-16.0.1.0.9-3.rolling.el8.x86_64/bin/java)
Enter to keep the current selection[+], or type selection number: 2
只需输入数字即可设置系统上的默认 Java 版本。
最后,检查 Java 版本。
# java -version
示例输出
openjdk version "16.0.1" 2021-04-20 OpenJDK Runtime Environment 21.3 (build 16.0.1+9) OpenJDK 64-Bit Server VM 21.3 (build 16.0.1+9, mixed mode, sharing)
恭喜!您已成功在RHEL、CentOS、Fedora和Rocky Linux / AlmaLinux中安装最新版本的Oracle OpenJDK来开发和运行 Java 应用程序。