如何安装Java在CentOS 7

linux

Java是世界上最流行的编程语言之一,用于构建各种类型的应用程序和系统。Java有两种不同的实现,OpenJDK和Oracle Java。两者之间几乎没有区别,只是Oracle Java具有一些其他的商业功能。Oracle Java Free License仅允许该软件的非商业使用,例如个人使用和开发使用。

OpenJDK是Java平台的开源实现。默认的CentOS 7存储库包含最新的两个主要Java LTS版本,Java 8和Java11。

在本教程中,我们将说明如何在CentOS 7上安装Java/OpenJDK。包括通过alternatives命令方法设置默认Java版本,使用yum安装OpenJDK 11/8和headless无头版本,验证java的安装,针对当前用户/所有用户配置JAVA_HOME环境变量,在当前shell会话中加载JAVA_HOME环境变量。

安装OpenJDK 11

一般建议是安装最新的Java LTS版本(JDK 11)版本。一些基于Java的应用程序可能需要特定版本的Java,因此您可能需要查阅应用程序文档。要在CentOS 7上安装OpenJDK 11,请以root或具有sudo权限的用户运行以下命令:

sudo yum 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 7系统上成功安装了Java。

CentOS 7还支持OpenJDK的headless(无头)版本,该版本提供了在没有GUI接口,不支持键盘,鼠标的情况下执行应用程序所需的最小Java运行时。由于该版本具有较少的依赖性并且使用较少的系统资源,因此它更适合于服务器应用程序。

要仅安装无头OpenJDK 11,请执行以下命令:

sudo yum install java-11-openjdk-headless

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

安装OpenJDK 8

Java 8仍然在支持并被广泛使用Java LTS版本。如果您的应用程序需要Java 8,则可以通过键入以下命令进行安装:

sudo yum 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版本,则可以通过alternatives命令来设置终端默认使用的Java版本。在改变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。注意这仅仅只是改变Java的版本。

一般情况我们不建议使用与Java版本不一致的Java编译器版本,因此您可能还需要更改默认的javac版本,运行以下alternatives命令更改Java的编译器javac版本。

sudo alternatives --config javac

javac是用于编译Java程序的编译器,如果你使用不一致的版本编译器,可能会带来各种不必要的麻烦。

配置JAVA_HOME环境变量

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

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

针对当前用户配置JAVA_HOME环境变量

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

echo 'export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"' >> ~/.bashrc

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

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

source ~/.bashrc

为所有用户配置JAVA_HOME环境变量

如你需要针对所有用户配置JAVA_HOME环境变量,请执行以下命令:

echo 'export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"' | sudo tee /etc/profile.d/java.sh

该命令使用echo,tee命令和管道操作符在/etc/profile.d目录中添加java.sh脚本。该脚本将会在用户登录时自动加载并导出JAVA_HOME环境变量。

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

source /etc/profile.d/java.sh

验证JAVA_HOME环境变量的配置

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

echo $JAVA_HOME

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

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

启动程序时,还可以在应用程序配置,systemd unit文件或命令行中设置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 7支持两个主要的Java版本,即Java 8和Java 11,可以使用yum​​程序包管理器进行安装。如果您有任何问题,请随时发表评论。

以上是 如何安装Java在CentOS 7 的全部内容, 来源链接: utcz.com/z/507092.html

回到顶部