帮助中心
如何在CentOS 8上安装Java环境



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

如果你想改变默认版本,请使用alternative命令。

$ 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软件包管理器安装。

文章相关标签: CentOS安装Java
购物车