如何在CentOS 8安装Java

Java是世界上最流行的编程语言之一,用于构建各种类型的应用程序和系统。Java有两种不同的实现,OpenJDK和Oracle Java

5 min read
By myfreax
如何在CentOS 8安装Java

Java是用于构建各种应用程序和系统的最流行的编程语言之一。 Java可以在所有主流的操作系统和设备上运行。

您可以在笔记本电脑,手机和游戏机上找到用Java开发的应用程序。Oracle Java许可证仅允许该软件的非商业使用,例如个人使用和开发使用。

Java有多种不同的实现。Open JDK和Oracle Java是Java的两个主要实现,它们之间几乎没有区别,只是Oracle Java具有一些附加的商业功能。

默认的CentOS 7仓库包括两个OpenJDK软件包:Java Runtime Environment JRE和Java Development Kit JDK。

JRE由Java虚拟机JVM,类和二进制文件组成,可让您运行Java程序。 JDK包含构建Java应用程序所需的JRE以及开发/调试工具和库。

如果不确定要安装哪个Java软件包,通常建议将其安装为默认的OpenJDK版本11。 一些基于Java的应用程序可能需要特定版本的Java,因此您应该查阅应用程序文档来确定使用的java版本。

安装OpenJDK 11

在撰写本文时,Java 11是Java的最新长期支持版本LTS。它也是CentOS 7中默认的Java开发和运行时。

以root或具有sudo权限的用户运行以下命令,更新软件包索引并安装Open JDK 11 JDK软件包。

CentOS 7还支持OpenJDK的headless无头版本,该版本提供了在没有GUI接口,不支持键盘,鼠标的情况下执行应用程序所需的最小Java运行时。

由于该版本具有较少的依赖性并且使用较少的系统资源,因此它更适合于服务器应用程序。

安装完成后,您可以通过检查Java版本进行验证。

sudo yum install java-11-openjdk-devel
#sudo yum install java-11-openjdk-headless
java -version

至此,您已经在CentOS 7系统上成功安装了Java。JRE包含在JDK软件包中。

安装OpenJDK 8

以前的Java LTS版本Java 8仍然被广泛使用。如果您的应用程序仅在Java 8上运行,则可以通过键入以下命令进行安装。

以root或具有sudo权限的用户运行以下命令,更新软件包索引并安装Open JDK 8 JDK软件包。

CentOS 7还支持OpenJDK的headless无头版本,该版本提供了在没有GUI接口,不支持键盘,鼠标的情况下执行应用程序所需的最小Java运行时。

由于该版本具有较少的依赖性并且使用较少的系统资源,因此它更适合于服务器应用程序。

如果仅需要JRE,则安装openjdk-8-jre。如果你为了使Java运行时占用空间最少,请安装java-8-openjdk-headless。

安装完成后,您可以通过检查Java版本进行验证。

sudo yum install java-1.8.0-openjdk-devel
#sudo yum install java-1.8.0-openjdk-headless
java -version

设置默认版本

如果您的Deian系统上安装了多个Java版本,则可以通过键入以下命令检查将哪个版本设置为默认版本。你可以通过命令java -version检查当前使用的版本。

如果需要更改默认版本,请使用sudo update-alternatives --config java命令。

将为您提供所有已安装的Java版本的列表。 输入您要用作默认版本的数字,然后按Enter

除了更改默认的java的版本之外,你还需要更改javac的默认版本,也就是java编译器的版本。建议java和javac使用相同的版本号,避免因版本导致的问题。

修改javac默认版本与修改默认java版本类似。你可以使用update-alternatives命令更改javac的版本。

sudo update-alternatives --config javac命令将为您提供所有已安装的javac版本的列表。 输入您要用作默认版本的版本号,然后按Enter

配置JAVA_HOME环境变量

一些Java应用程序使用JAVA_HOME环境变量来确定Java安装位置,并指定应使用哪个Java版本来运行该应用程序。

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

echo 'export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"' >> ~/.bashrc命令将使用echo命令重定向操作符>>追加export语句到~/.bashrc文件中。

如你需要针对所有用户配置JAVA_HOME环境变量,请运行命令echo 'export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"' | sudo tee /etc/profile.d/java.sh

如你需要使更改在您当前的shell会话中生效,您可以注销然后再登录或使用source命令加载脚本source ~/.bashrc或者/etc/profile.d/java.sh

要使更改在您当前的shell会话中生效,您可以注销然后再登录或使用source命令加载脚本source /etc/profile.d/java.sh

要验证是否正确设置了JAVA_HOME环境变量,可以使用echo打印JAVA_HOME环境变量来确定echo $JAVA_HOME

输出应显示Java安装的路径/usr/lib/jvm/java-1.8.0-openjdk

结论

CentOS 7支持两个主要的Java版本,即Java 8和Java 11,可以使用yum​​程序包管理器进行安装。如果您有任何问题,请随时发表评论。