如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java

2023-11-12

介绍

本教程将向您展示如何在基于 RPM 的 Linux 发行版的当前版本上安装 Java:Red Hat Enterprise Linux、CentOS、Fedora 和 Rocky Linux。 Java 是一种流行的编程语言和软件平台,允许您运行许多服务器端应用程序。

本教程涵盖安装最新的默认 Java 版本,以及挑选任何旧版本进行安装,以及根据需要在环境中的多个版本之间切换。

先决条件

在开始本指南之前,您应该拥有一个常规的非 root 用户sudo服务器上配置的权限 - 这是您登录服务器时应使用的用户。您可以按照我们的步骤了解如何配置常规用户帐户Rocky Linux 8 初始服务器设置指南.

第 1 步 – 安装 OpenJDK

Java 平台共有三个不同版本:标准版 (SE)、企业版 (EE) 和微型版 (ME)。本教程重点介绍 Java SE(Java 平台标准版)。几乎所有开源 Java 软件都设计为与 Java SE 一起运行。

可以安装两种不同的 Java SE 软件包:Java 运行时环境 (JRE) 和 Java 开发工具包 (JDK)。 JRE 是 Java 虚拟机 (JVM) 的实现,它允许您运行已编译的 Java 应用程序和小程序。 JDK 包括 JRE 以及编写、开发和编译 Java 应用程序和小程序所需的其他软件。

Java 还有两种不同的实现:OpenJDK 和 Oracle Java。两种实现很大程度上基于相同的代码,但 Java 的参考实现 OpenJDK 是完全开源的,而 Oracle Java 包含一些专有代码。大多数 Java 应用程序都可以很好地工作,但您应该使用您的软件需要的任何实现。

您可以在一个系统上安装 Java 的各种版本和发行版,但大多数人只需要安装一次。考虑到这一点,尝试仅安装运行或开发应用程序所需的 Java 版本。

本节将向您展示如何使用以下命令安装预构建的 OpenJDK JRE 和 JDK 软件包yum包管理器。yum是使用 RPM 包的发行版的默认包管理器。

要使用 yum 安装 OpenJDK,您可以运行sudo yum install java:

  1. sudo yum install java

默认情况下,尝试安装java不指定版本将解析为 OpenJDK JRE 最常见的稳定版本。正如您从输出中看到的,截至撰写本文时,即java-1.8.0-openjdk:

Output
Last metadata expiration check: 0:02:38 ago on Tue 22 Feb 2022 04:57:59 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repo Size ======================================================================================== Installing: java-1.8.0-openjdk x86_64 1:1.8.0.322.b06-2.el8_5 appstream 341 k Installing dependencies: alsa-lib x86_64 1.2.5-4.el8 appstream 488 k atk x86_64 2.28.1-1.el8 appstream 270 k avahi-libs x86_64 0.7-20.el8 baseos 61 k copy-jdk-configs noarch 4.0-2.el8 appstream 29 k cups-libs x86_64 1:2.2.6-40.el8 baseos 432 k fribidi x86_64 1.0.4-8.el8 appstream 88 k …

多个依赖项也将随 Java 一起提供。在出现确认提示时,输入y然后按 Enter 继续安装。系统还可能会提示您接受要从中安装的存储库的签名密钥:

Output
Importing GPG key 0x6D745A60: Userid : "Release Engineering <infrastructure@rockylinux.org>" Fingerprint: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial Is this ok [y/N]:

Enter y然后再次按 Enter 键。

您现在应该已经安装了可以运行的 Java。为了确认这一点,您可以运行java -version,检查您的环境中现在可用的 Java 版本:

  1. java -version

Note:大多数情况下,命令行参数前面有一个破折号(表示单字母参数)或两个破折号(表示全字参数)。 Java 遵循一种不同的约定,即对所有参数使用一个破折号,在本例中,-version.

Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

Java 命名约定和 Linux 包命名约定之间的交互可能会有些令人困惑。在本教程的前面部分,我们阐明了用于开发的完整 JDK 环境与用于运行 Java 应用程序的 JRE 环境之间的区别。尽管 OpenJDK 是 Java 开源发行版的名称,但您实际上只安装了 OpenJDK JRE。为了安装完整的 OpenJDKJDK,你应该安装相应的包-devel附加到其名称上。这是其他编程环境的开发包的常见约定,Java 也遵循这一约定,尽管术语在这里出现了尴尬的重叠。

和以前一样,您可以安装java-devel获取默认版本,或指定java-1.8.0-openjdk-devel:

  1. sudo yum installjava开发
Output
DigitalOcean Droplet Agent 63 kB/s | 3.3 kB 00:00 Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.322.b06-2.el8_5 appstream 9.8 M Transaction Summary ======================================================================================== Install 1 Package Total download size: 9.8 M Installed size: 41 M Is this ok [y/N]:

安装此软件包后,您应该拥有一个完整的 OpenJDK 环境,可以编译和运行任何不存在特定版本不兼容问题的 Java 软件。在下一部分中,您将安装和管理其他版本的 Java。

第 2 步 – 安装其他 OpenJDK 版本

最近,OpenJDK 更改了其版本编号方案,以更紧密地跟踪 Oracle Java 版本。为了安装更新版本的 OpenJDK,您可以在包名称中指定版本号,就像使用1.8.0。例如,为了安装 OpenJDK 17,您可以yum install java-17-openjdk:

  1. sudo yum installjava-17-openjdk
Output
Last metadata expiration check: 0:03:36 ago on Tue 22 Feb 2022 05:42:44 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-17-openjdk x86_64 1:17.0.2.0.8-4.el8_5 appstream 244 k Installing dependencies: adwaita-cursor-theme noarch 3.28.0-2.el8 appstream 646 k adwaita-icon-theme noarch 3.28.0-2.el8 appstream 11 M at-spi2-atk x86_64 2.26.2-1.el8 appstream 88 k at-spi2-core x86_64 2.28.0-1.el8 appstream 168 k colord-libs x86_64 1.4.2-1.el8 appstream 234 k java-17-openjdk-headless x86_64 1:17.0.2.0.8-4.el8_5 appstream 41 M lcms2 x86_64 2.9-2.el8 appstream 163 k …

和以前一样,您可以通过附加来安装完整的 JDK 环境-devel到包名称。然而,在此之后,运行java默认情况下,程序仍将使用您之前安装的 OpenJDK 1.8.0 版本,您可以通过运行来确认java -version again:

  1. java -version
Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

在下一步中,您将管理已安装的 Java 版本。

第 3 步 – 设置默认 Java 版本

如果您安装了多个版本的 Java,您可能需要将其中一个设置为默认版本(即当用户运行java命令)。此外,某些应用程序需要设置某些环境变量来定位要使用的 Java 安装。

The alternativescommand,通过符号链接管理默认命令,可以用来选择默认的Java版本。列出可以管理的 Java 的可用版本alternatives, use alternatives –config java:

  1. sudo备择方案--config java

输出应列出您已安装的两个 Java 版本:

output
There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java) 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) Enter to keep the current selection[+], or type selection number:

输入选择编号以选择哪个java默认情况下应使用可执行文件。它将重新排列系统上必要的符号链接,以确保java命令指向正确的库集。您可以根据需要重新运行此命令,并且输出java -version应相应改变:

  1. java -version
Output
openjdk version "17.0.2" 2022-01-18 LTS OpenJDK Runtime Environment 21.9 (build 17.0.2+8-LTS) OpenJDK 64-Bit Server VM 21.9 (build 17.0.2+8-LTS, mixed mode, sharing)

许多 Java 应用程序也使用JAVA_HOME or JRE_HOME环境变量来确定哪些java可执行文件来使用。

For example, if you installed Java to (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin (i.e. your java executable is located at <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java), you could set your JAVA_HOME environment variable in a bash shell or script like so:

  1. export JAVA_HOME=(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre

Note: The JAVA_HOME环境变量建议您设置以以下结尾的 Java 安装路径/jre目录。这一约定可以从一个变量更改为下一个变量,因此在进行更改时最好仔细检查示例。

如果你想JAVA_HOME要默认为系统上的每个用户设置,请将上一行添加到/etc/environment文件。您可以使用将其附加到文件中echo and >>shell 重定向,以避免编辑/etc/environment通过运行以下命令直接文件:

  1. sudo sh -c "echo export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre >> /etc/environment"

在下一步中,您将安装 Oracle 专有的 Java 以及 OpenJDK 版本。

第 4 步 – 安装 Oracle Java

本指南的这一部分将向您展示如何安装 Oracle Java JRE 和 JDK(64 位),这是撰写本文时这些软件包的最新版本。

Note:如果您使用此页面上的交互式终端,您将无法下载 Oracle Java 并将其安装到环境中。

在本节中,我们将使用wget命令下载 Oracle Java 软件包。wget默认情况下,您的 Linux 发行版中可能不包含它,因此为了继续操作,您需要通过运行以下命令来安装它:

  1. sudo yum install wget

在安装 Oracle Java 之前,您必须接受 Java SE 的 Oracle 二进制代码许可协议,这是其中包含的步骤之一。

Note:为了安装 Oracle Java,您需要访问Oracle Java 下载页面,接受许可协议,并复制相应Linux x86的下载链接.rpm包裹。将复制的下载链接替换为突出显示的部分wget命令。

切换到您的主目录并使用以下命令下载 Oracle Java RPM:

  1. cd ~
  2. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"

然后安装 RPMyum localinstall(如果您下载了不同的版本,请替换此处的文件名):

  1. sudo yum localinstall jdk-17_linux-x64_bin.rpm

在出现确认提示时,输入y然后按 Enter 继续安装。

您可以删除之前下载的存档文件:

  1. rm ~/jdk-17_linux-x64_bin.rpm

您现在可以重新运行alternatives命令,您应该会看到使用 Oracle Java 的第三个选项:

  1. sudo备择方案--config java
output
There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java) + 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) * 3 /usr/java/jdk-17.0.2/bin/java Enter to keep the current selection[+], or type selection number:

本教程中的步骤应该足以根据您的用例安装和运行任何可用的 Java 版本。

结论

在本教程中,您使用yum包管理器alternatives命令和环境变量。这些都是 Linux 环境管理的基本方面,而 Java 提供了一个特别好的使用它们的示例,因为它有许多不同的版本。

接下来,你可能想学习如何在其他环境中使用 Java.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java 的相关文章

  • Eclipse 中的 Java 构建路径问题

    在 Eclipse 中 我有一个与我的构建路径相关的错误 错误 Project XX is missing required library middlegen 2 1 jar 但该库在构建路径配置之前被删除 是不是缓存或者其他方面有问题
  • 将 Java 对象图保存为 XML 文件

    将任意 Java 对象图保存为 XML 文件 并能够在以后重新水合对象 的最简单易用的技术是什么 这里最简单的方法是序列化对象图 Java 1 4 内置了对 XML 序列化的支持 我成功使用的一个解决方案是 XStream http x s
  • 如何知道 HTTP 服务器何时完成发送数据

    我正在开发一个面向浏览器 代理的项目 我需要下载网页 向 Web 服务器发送自定义 HTTP 请求后 我开始监听服务器响应 读取响应时 我检查响应标头中的 Content Length row 如果我得到其中之一 很容易确定服务器何时完成发
  • 为 JSP 创建注销链接?

    当用户登录我的应用程序时 他提交一个要通过 Servlet 处理的表单 servlet 为用户创建一个会话 我如何创建一个链接以便用户可以注销 我似乎无法直接链接到 Servlet 如何删除会话并链接回主页 HttpSession sess
  • SharePoint 2010 Web 服务上的 Java JBoss 401 错误

    我的代码在 Eclipse IDE 中测试时运行成功 我正在使用生成的 Copy wsdl 通过 Web 服务连接到 MS SharePoint 2010 当我在 JBoss 服务器上部署代码 运行 Adob e LifeCycle 时 我
  • rmi类找不到异常

    我使用 java rmi 编写了一个简单的项目并导出到可执行 jar 文件 当我尝试运行它时 有时会出现异常 有时会起作用 当我指定 Djava rmi server codebase file serverClasses 时 它似乎没有正
  • Cognito SRP 身份验证 JAVA SDK

    我正在尝试使用 Cognito 验证 Java 应用程序 我在Python中使用了warrant库 效果非常好 但我现在想在java中做同样的事情 我的 Python 函数用于身份验证warrant https github com cap
  • 在 Selenium Grid 中注册 PhantomJS 节点时出错

    我有以下问题 我成功启动了 Selenium Grid hub java jar selenium server standalone 2 53 0 jar role hub 之后我尝试使用以下命令启动 PhantomJS 节点 phant
  • Java TCP Echo 服务器 - 广播

    我有一个简单的回显服务器 我希望当连接的用户向服务器键入任何内容时 所有其他客户端和该客户端都会收到消息 MOD 它现在不会发送给所有客户端 但它应该发送 而且我只是不知道我的代码出了什么问题 所以现在它只会将消息 MOD 发送给发送消息的
  • 不带破折号的 CliBuilder 参数

    使用 Groovy CliBuilder 理想情况下我希望有一个命令行 如下所示 MyProgram groovy CommandName arg1 arg2 arg3 是否可以使用 CliBuilder 解析提取 CommandName
  • 在 XSSF 工作簿上设置密码保护

    我想为使用 poi 3 14 创建的 xlsx 文件添加密码保护 该文档声称 这是可能的 http poi apache org cryption html http poi apache org encryption html 使用我尝试
  • 为什么我在 Java 中收到有关“可能丢失精度”的警告?

    class Test public static void main String args short s 2 s1 200 s2 s2 s s1 error possible loss of precision System out p
  • 使用会话空闲超时进行轮询

    我对 Tomcat 中的所有应用程序使用单点登录 我的要求是 我必须轮询应从后端获取的事务状态 但它也不应该影响会话的空闲超时 有人可以建议是否可以做点什么吗 Thanx 我不知道是否有标准方法可以做到这一点 如果没有 你可以写一个过滤器
  • 谷歌的Json解析Gson库:JsonElement和JsonObject有什么区别?

    public abstract class JsonElement extends Object 表示 Json 元素的类 它可以是 JsonObject JsonArray JsonPrimitive 或 JsonNull public
  • Android Studio错误的含义:未注释的参数覆盖@NonNull参数

    我正在尝试 Android Studio 创建新项目并添加默认值后onSaveInstanceState方法创建 MyActivity 类 当我尝试将代码提交到 Git 时 我收到一个我不明白的奇怪错误 代码是这样的 我得到的错误是这样的
  • 将 JPanel 添加到 JFrame

    我有一个程序 其中将 JPanel 添加到 JFrame public class Test Test2 test new Test2 JFrame frame new JFrame Test frame setLayout new Bor
  • 尝试用Java实现基于文本的Hangman游戏

    我需要检查用户输入的字母以及他们猜测的空格是否位于隐藏单词的特定位置 变量one等于用户猜测的空间索引 而letterGuess是他们猜测的字母 我的代码怎么错了 示例 秘密词是你好 hidden word is 用户猜测h 0 1 2 3
  • 在地图中的图块上实现鼠标单击事件

    我正在尝试在 JPanel 上实现图像 基本上是地图上的图块 的鼠标单击事件 我只是不知道该怎么做 我有一个扩展 JPanel 的 Main 类 我正在从图块服务器检索图块 并根据特定的缩放级别在 Main 类的 PaintComponen
  • 如何读取FTL文件中的JSONArray?

    我在我的 Java 文件中硬编码了以下 JSON 对象 JSONObject notificationInfoJson new JSONObject notificationInfoJson put title Payment Receiv
  • Java编程编译jar

    我有一个文本文件中的java源代码 必须在源代码中输入一些自定义的硬编码变量 然后将其转换为 jar 这是可行的 但是当我运行 jar 时 找不到 Main 类 当我用 WinRAR 解压 jar 文件时 我似乎找不到错误 当我通过 cmd

随机推荐

  • 如何在 Ubuntu 20.04 上安装和使用 Curl

    curl是一个命令行实用程序 用于从远程服务器传输数据或向远程服务器传输数据 和curl 您可以使用支持的协议之一下载或上传数据 包括 HTTP HTTPS SCP SFTP and FTP 本文介绍了如何安装Curl在 Ubuntu 20
  • 如何使用 Linux 屏幕

    您是否曾经遇到过这样的情况 您在远程计算机上执行长时间运行的任务 突然连接断开 SSH 会话终止 您的工作丢失 好吧 我们所有人都曾在某个时刻发生过这种事 不是吗 幸运的是 有一个实用程序叫做screen这使我们能够恢复会议 介绍 Scre
  • 如何在 Ubuntu Linux 中更改 root 密码

    root 用户 或超级用户 是所有 Linux 和类 Unix 系统上都存在的特殊用户帐户 它可以完全访问系统上的每个命令和任何资源 没有任何限制 如果您从其他 Linux 发行版转到 Ubuntu 您可能想知道默认 root 密码是什么或
  • 如何在 CentOS 8 上安装 Pip

    Pip 是一个包管理系统 允许您安装 删除以及以其他方式管理用 Python 编写的软件包 它可用于从 Python 包索引 PyPI 和其他索引安装包 在本教程中 我们将解释如何在 CentOS 8 上安装适用于 Python 2 和 3
  • 如何在 Vim / Vi 中保存文件并退出编辑器

    对于许多在命令行上花费大量时间的用户来说 Vim 是首选的文本编辑器 与其他编辑器不同 Vim 有多种操作模式 这对于新用户来说可能有点吓人 Vim 或其前身 Vi 预装在 macOS 和几乎所有 Linux 发行版上 当您遇到您最喜欢的编
  • 如何创建和选择 MySQL 数据库

    MySQL是最流行的开源关系数据库管理系统 本教程介绍如何通过命令行创建 MySQL 或 MariaDB 数据库 在你开始之前 我们假设您的系统上已经安装了 MySQL 或 MariaDB 服务器 所有命令均以管理用户身份执行 最小特权创建
  • 如何提取(解压缩)Tar Bz2 文件

    The tar命令允许您创建和提取 tar 档案 它支持多种压缩程序 例如 gzip bzip2 lzip lzma lzop xz 和 compress Bzip2 是最流行的 tar 文件压缩算法之一 按照约定 压缩后的 tar 存档的
  • 如何检查 Linux 中的内存使用情况

    在对系统或应用程序速度缓慢或行为不当进行故障排除时 首先要检查的事情之一是系统内存使用情况 本文介绍如何使用几个不同的命令检查 Linux 中的 RAM 使用情况 free命令 free是检查Linux系统内存使用情况最常用的命令 它显示有
  • 在 CentOS 8 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费 自动化 开放的证书颁发机构 提供免费的 SSL 证书 Let s Encrypt 颁发的证书受到所有主要浏览器的信任 并且自颁发之日起 90 天内有效 本教程介绍如何
  • 如何在 Debian 9 上安装 WildFly (JBoss)

    WildFly 以前称为 JBoss 是一个用 Java 编写的跨平台开源应用程序运行时 可帮助您构建令人惊叹的应用程序 WildFly 灵活 轻量 并且基于可根据需要添加或删除的可插拔子系统 在本教程中 我们将引导您完成在 Debian
  • 如何在 Ubuntu 18.04 上安装 Git

    Git 是分布式版本控制系统事实上的标准 现在被大多数开发人员使用 它允许您跟踪代码更改 恢复到之前的阶段 创建分支以及与其他开发人员协作 Git 最初是由莱纳斯 托瓦尔兹Linux内核的创建者 本教程将指导您完成在 Ubuntu 18 0
  • 在 CentOS 7 上安装 Magento 2

    Magento 是一个领先的企业级电子商务平台 基于开源技术构建 将强大的功能与灵活性和用户友好的界面相结合 凭借引人入胜的购物体验 灵活的模块化架构以及企业级可扩展性和性能等功能 Magento 是大多数在线商家的首选平台 这是该系列的第
  • 如何在 CentOS 7 上安装 R

    R 是一种快速发展的开源编程语言和免费环境 专门从事统计计算和图形表示 它由 R 统计计算基金会支持 主要供统计学家和数据挖掘人员用于开发统计软件和执行数据分析 本教程将教你如何在CentOS 7上安装R以及如何从官方安装R包综合 R 档案
  • 如何在 Ubuntu 20.04 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 可帮助您自动执行安装 更新 配置和删除 npm 包的过程 它缓存每个下载包并通过并行操作加快安装过程 在本教程中 我们将解释如何安装Yarn在 Ubuntu 20 04 上
  • 如何在 Debian 9 上安装 MongoDB

    MongoDB 是一个免费的开源文档数据库 它属于 NoSQL 数据库家族 与 MySQL 和 PostgreSQL 等传统的基于表的 SQL 数据库不同 在 MongoDB 中 数据存储在灵活的 类似 JSON字段可能因文档而异的文档 它
  • Bash if..else 语句

    本教程将引导您了解 Bash 的基础知识if声明并向您展示如何在 shell 脚本中使用它 决策是计算机编程最基本的概念之一 与任何其他编程语言一样 if if else if elif else 并嵌套ifBash 中的语句用于根据特定条
  • Java中的多重继承

    今天我们将研究Java中的多重继承 不久前我写了几篇关于遗产 界面 and 作品在Java中 在这篇文章中 我们将研究 java 多重继承 然后比较组合和继承 Java中的多重继承 Multiple inheritance in java
  • Java 中的装饰器设计模式示例

    装饰器设计模式用于在运行时修改对象的功能 同时 同一类的其他实例不会受此影响 因此单个对象会获得修改后的行为 装饰设计模式是结构设计模式之一 如适配器模式 桥梁图案 复合图案 并使用抽象类或接口作品来实施 装饰设计模式 We use inh
  • 获取R中的行数和列数

    各位读者大家好 在本文中 我们将重点讨论 R 中的行和列的概念 即R编程中获取对象的行数和列数 详细 那么 让我们开始吧 Be it a matrix or a 数据框 我们按照行和列来处理数据 在数据分析领域 尤其是统计分析 我们需要了解
  • 如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java

    介绍 本教程将向您展示如何在基于 RPM 的 Linux 发行版的当前版本上安装 Java Red Hat Enterprise Linux CentOS Fedora 和 Rocky Linux Java 是一种流行的编程语言和软件平台