在使用 yum 安装 Java JDK 之前,我已经在我的 Linux(红帽系列) 中配置了国内阿里云的 yum 镜像仓库,关于 Linux(红帽系列) 中的 yum 工具和配置国内阿里云的 yum 镜像仓库可以参考:https://www.yuque.com/u27599042/gny4fg/get78mmpfep167c9#i4jlg
搜索本地配置的 yum 仓库中的 Java JDK 列表
我们可以执行如下命令,查看本地 Linux(红帽系列) 操作系统中配置的 yum 仓库中是否具有 Java JDK 以及具有哪些版本的 Java JDK
bash
yum search java

由于后面我要安装的 Java JDK 版本为 17,所以这里我们以 Java JDK 17 为例进行说明,其他版本的 Java JDK 类型。
bash
# 搜索出来的这个 Java JDK 是一个只包含 Java 运行环境的 JDK,
# 即我们选择安装这个 Java JDK 后,操作系统中只会具有 JRE,
# JRE 中只包含 JVM Java 虚拟机和 Java 基础类库。
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment
# 搜索出来的带有 devel 的 Java JDK,才是一个完整的 JDK,
# 包括了Java 运行环境(JRE),一堆 Java 工具(javac/java/jdb 等)
# 和 Java 基础类库(即 Java API 等)。
java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment
由于我们运行 Java Jar 包等需要使用到 Java 的相关工具,所以我们这里选择 java-17-openjdk-devel.x86_64 进行安装。
执行如下命令可以查看 yum 仓库中记录的 java-17-openjdk-devel.x86_64 的详细信息:
bash
yum info java-17-openjdk-devel

使用 yum 工具安装 Java JDK
在确定了要安装的 Java JDK 之后,我们可以执行如下命令使用 yum 工具安装 Java JDK 17:
-y
:在执行操作时自动回答 "yes",省去用户确认步骤。
bash
yum -y install java-17-openjdk-devel

检验 Java JDK 是否安装成功
我们使用 yum 工具帮助我们安装 Java JDK,不仅可以帮助我们处理 Java JDK rpm 软件包的安装和 rpm 软件包之间的依赖关系,也可以帮助我们在安装 Java JDK 时将相应的可执行文件添加到相应的 Linux 中已经配置到系统环境变量 PATH 的目录中,使得我们可以在任意位置执行。
执行如下命令查看系统环境变量 PATH:
bash
echo $PATH

执行如下命令列出 Java 相关的可执行命令的二进制文件、源文件、手册文件的位置
bash
whereis java
whereis javac
whereis javadoc

最后,我们执行如下命令查看安装的 Java 的版本信息,检验 Java JDK 是否安装成功
bash
java -version
