如何在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

如果要更改默认版本,请使用 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_HOME 一些Java应用程序使用环境变量来确定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

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

例如,要使用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 包裹经理。

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

java centos

Sidebar