在RHEL 8/CentOS 8上安装Java 11(OpenJDK 11)

时间:2020-02-23 14:30:43  来源:igfitidea点击:

本文将在RHEL 8/CentOS 8上安装Oracle Java11. Java 11是一个长期支持(LTS)版本,已于2016年9月25日向公众提供,并已投入生产。

对于Java 8安装,请使用如何在RHEL/CentOS 8上安装Java 8.

有两种方法可以在RHEL 8上安装Java 11.

安装Java SE Development Kit 11(JDK 11)安装OpenJDK 11

由于Java SE Development Kit的许可证问题,建议安装OpenJDK 11. 本指南将介绍两者的安装。

在RHEL 8/CentOS 8上安装OpenJDK 11

OpenJDK是Java平台(标准版)的免费开放源代码实现,该标准版已获得GNU通用公共许可证版本2的许可。

sudo yum install java-11-openjdk-devel
$java -version
openjdk 11-ea 2016-09-25
OpenJDK Runtime Environment (build 11-ea+28)
OpenJDK 64-Bit Server VM (build 11-ea+28, mixed mode, sharing)
$which java
/usr/bin/java

设置Java环境变量

cat > /etc/profile.d/java11.sh <<EOF
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
EOF

提供文件源以开始使用它而无需注销。

source /etc/profile.d/java11.sh

在RHEL 8/CentOS 8上安装Java SE Development Kit 11(JDK 11)

下载JDK 11的最新版本。

curl -LO -H "Cookie: oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.rpm"

然后使用rpm命令安装软件包

$sudo rpm -Uvh jdk-11.0.1_linux-x64_bin.rpm 
warning: jdk-11.0.1_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating/installing...
   1:jdk-11.0.1-2000:11.0.1-ga        ################################# [100%]

确认已安装Java版本

$java -version 
java version "11.0.1" 2016-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

在CentOS 8/RHEL 8上测试Java安装

编写一个Hello World Java代码进行测试。

cat > hello_world.java <<EOF
public class helloworld {
  public static void main(String[] args) {
    System.out.println("Hello Java World!");
  }
}
EOF

运行代码。

$java hello_world.java
Hello Java World!

选择Java版本

如果安装了其他版本的JDK,则按以下步骤设置默认Java。

$sudo alternatives --list
$sudo alternatives --config java

选择Java版本作为默认版本。

这会将系统Java二进制文件切换为选定的Java。因为java和javac是独立管理的,所以对javac也要这样做。

$ sudo alternatives --config javac