如何在 CentOS 8 上安装 Java

评论 0 浏览 0 2019-10-02

Java 是最流行的编程语言之一,用于构建不同类型的应用程序和系统。

Java 有两种不同的实现:OpenJDK 和 Oracle Java,它们之间几乎没有区别,只是 Oracle Java 有一些额外的商业功能。 Oracle Java 许可证 只允许该软件用于非商业用途,例如个人使用和开发使用。 OpenJDK 是 Java 平台的开源实现。

默认的 CentOS 8 存储库包括最新的两个主要 Java LTS 版本:Java 8 和 Java 11。

在本教程中,我们将解释如何在 CentOS 8 上安装一个或多个 Java (OpenJDK) 版本以及如何通过替代方案设置默认 Java。

安装 OpenJDK 11

一般建议是安装最新的 Java LTS 版本 (JDK 11) 版本。某些基于 Java 的应用程序可能需要特定版本的 Java,因此您可能需要查阅应用程序文档。

要在 CentOS 8 上安装 OpenJDK 11,请以 root 身份或具有 sudo 权限的用户运行以下命令 :

sudo dnf install java-11-openjdk-devel

安装完成后,可以通过检查Java版本来验证:

java -version

输出应如下所示:

输出

openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)

就是这样!您已在 CentOS 8 系统上成功安装 Java。

CentOS 8 还支持 OpenJDK 的无头版本,该版本提供执行应用程序所需的最小 Java 运行时,无需图形用户界面(无键盘、鼠标和显示系统支持)。该版本更适合服务器应用程序,因为它具有较少的依赖性并且使用较少的系统资源。

要仅安装无头 OpenJDK 11,请输入:

sudo dnf install java-11-openjdk-headless

如果您已经安装了java-11-openjdk-devel,则无头软件包将作为依赖项安装。

安装 OpenJDK 8

Java 8(之前的 Java LTS 版本)仍然受到支持并广泛使用。如果您的应用程序需要 Java 8,您可以通过键入以下命令来安装它:

sudo dnf install java-1.8.0-openjdk-devel

通过检查 Java 版本来验证安装:

java -version

输出应如下所示:

输出

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

对于最少的 Java 运行时,请安装 java-1.8.0-openjdk-headless 包。

设置默认 Java 版本

如果您在 CentOS 系统上安装了多个 Java 版本,则可以使用替代系统来设置在终端中键入 java 时将使用哪个 Java 版本。

要检查设置为默认版本的 Java 版本,请键入:

java -version

如果要更改默认版本,请使用alternatives命令:

sudo alternatives --config java

输出如下所示:

输出

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)
*+ 2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)

Enter to keep the current selection[+], or type selection number: 

所有已安装 Java 版本的列表将打印在屏幕上。输入要用作默认版本的版本号,然后按Enter

您可能还想更改默认的javac版本:

sudo alternatives --config java

javac是一个用于编译Java程序的命令实用程序。

设置JAVA_HOME环境变量

某些 Java 应用程序使用 JAVA_HOME 环境变量 来确定 Java 安装位置,并指定运行应用程序时应使用的 Java 版本。

要为每个用户设置 JAVA_HOME 变量,请将其添加到 ~/.bashrc 或用户登录时加载的任何其他配置文件中。对于系统范围的设置,请使用 /etc/profile.d 内的脚本目录。

假设您要将 JAVA_HOME 设置为 OpenJDK 8,请在文件末尾添加以下行:

/etc/profile.d/java.sh
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"

要使更改在当前 shell 上生效,您可以注销并登录或使用 source 命令:

source /etc/profile.d/java.sh

验证 JAVA_HOME 环境变量是否已正确设置:

echo $JAVA_HOME

输出应显示 Java 安装的路径:

输出

/usr/lib/jvm/java-1.8.0-openjdk

您还可以在应用程序配置、systemd 单元文件或启动程序时在命令行中设置JAVA_HOME

例如,要使用 Java 8 运行 Maven,您可以输入:

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version

输出

...
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre
...

结论

CentOS 8支持两个主要的Java版本,Java 8和Java 11,可以使用dnf包管理器安装。

如果您有任何疑问,请随时发表评论。

最后更新2023-09-04
0 个评论
标签