第 1 章 在 RHEL 中以交互方式选择系统范围的红帽构建的 OpenJDK 版本
如果您在 RHEL 上安装了多个版本的 OpenJDK,您可以以互动方式选择默认的 Red Hat build of OpenJDK 版本来使用系统范围。
如果您没有 root 特权,您可以通过配置 JAVA_HOME
环境变量来选择 OpenJDK 版本的红帽构建。
先决条件
- 必须具有系统上的 root 权限。
-
使用
yum
软件包管理器安装多个版本的 OpenJDK。
流程
查看系统上安装的 OpenJDK 版本的红帽构建。
$ yum list installed "java*"
此时会出现已安装的 Java 软件包列表。
Installed Packages java-1.8.0-openjdk.x86_64 1:1.8.0.302.b08-0.el8_4 @rhel-8-appstream-rpms java-11-openjdk.x86_64 1:11.0.12.0.7-0.el8_4 @rhel-8-appstream-rpms java-11-openjdk-headless.x86_64 1:11.0.12.0.7-0.el8_4 @rhel-8-appstream-rpms java-17-openjdk.x86_64 1:17.0.0.0.35-4.el8 @rhel-8-appstream-rpms java-17-openjdk-headless.x86_64 1:17.0.0.0.35-4.el8 @rhel-8-appstream-rpms
显示可用于特定
java
命令的红帽构建的 OpenJDK 版本,并选择要使用的 OpenJDK 版本:$ sudo alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el8_4.x86_64/bin/java) * 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/jre/bin/java) + 3 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.0.0.35-4.el8.x86_64/bin/java) Enter to keep the current selection[+], or type selection number: 1
- 当前系统范围的 Red Hat build of OpenJDK 版本标记为星号。
-
指定
java
命令的当前红帽 OpenJDK 版本构建标有加号。
按 Enter 键保留当前选择,或者输入您要选择的 Red Hat build of OpenJDK 版本的 Selection 号,后跟 Enter 键。
系统的默认 Red Hat build of OpenJDK 版本是所选版本。
验证是否选择了所选二进制文件。
$ java -version openjdk version "17" 2021-09-14 OpenJDK Runtime Environment 21.9 (build 17+35) OpenJDK 64-Bit Server VM 21.9 (build 17+35, mixed mode, sharing)
注意此流程配置
java
命令。然后,可以使用类似的方式设置javac
命令,但它独立运行。如果您安装了红帽构建的 OpenJDK,则
替代方案
会提供更多可能选择。特别是javac
master 备用切换由-devel
子软件包提供的许多二进制文件。即使您安装了红帽构建的 OpenJDK,
java
(及其他 JRE master)和javac
(及其他红帽构建的 OpenJDK 主控机)仍然独立运行,因此您可以对 JRE 和 JDK 有不同的选择。alternatives --config java
命令会影响jre
及其关联的从设备。如果要更改红帽构建的 OpenJDK,请使用
javac alternatives
命令。--config javac
实用程序配置SDK
和相关的从设备。要查看所有可能的 master,请使用alternatives --list
并检查所有 java、java
cjre
和sdk
master。