本文介绍如何在 CentOS 7(6/6.5)、 Fedora、RHEL 上安装 Java。Java是一个流行的软件平台,容许您运行Java应用程序。java
本文涵盖了如下Java版本的安装:linux
在开始以前,您应该有一个可以执行 root 权限命令的用户帐户。shell
Java平台有三个不一样版本:标准版(SE)、企业版(EE)和微型版(ME)。本文主要关注Java SE。bash
能够安装两个不一样的Java SE包:Java运行时环境(JRE)和Java Development Kit(JDK)。JRE是Java虚拟机(JVM)的一种实现,它容许您运行已编译的Java应用程序和applet。JDK包括JRE及开发和编译Java应用所需的其余软件。cookie
还有两种不一样的Java实现:OpenJDK 和 Oracle Java。这两种实现都基于相同的代码,但 OpenJDK(Java的参考实现)是彻底开源的,而Oracle Java包含一些专有代码。oracle
您能够在单个系统上安装各类版本的Java,但大多数人只须要安装一个版本。考虑到这一点,请尝试仅安装运行或开发应用程序所需的Java版本。app
本节介绍如何使用 dnf 包管理器安装预构建的OpenJDK 8 JRE和JDK包,这相似于Ubuntu / Debian的apt-get。jvm
要使用 dnf 安装OpenJDK 8 JRE,请运行如下命令:ide
$ sudo dnf install java-1.8.0-openjdk
在确认提示下,输入 y 而后 RETURN 继续安装。code
要使用 dnf 安装OpenJDK 8 JDK,请运行如下命令:
$ sudo dnf install java-1.8.0-openjdk-devel
在确认提示下,输入 y 而后 RETURN 继续安装。
这一部介绍如何安装 Oracle Java 8 JRE 和 JDK(64位)。注意:在安装Oracle Java以前,您必须接受 Java SE 的 Oracle 二进制代码许可协议,这是包含的步骤之一。
注意:要安装Oracle Java 8 JRE,您须要转到 Oracle Java 8 JRE 下载页面,接受许可协议,并复制相应 .rpm 软件包的下载连接。
切换到您的主目录并使用如下命令下载 Oracle Java 8 JRE RPM:
$ cd ~ $ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://link_copied_from_site"
而后使用此yum命令安装RPM(若是您下载了其余版本,请在此处替换文件名):
$ sudo yum localinstall jre-8u161-linux-x64.rpm
在确认提示下,输入y而后RETURN继续安装。
如今 Java 应该安装在/usr/java/jre1.8.0_161/bin/java
,并从/usr/java/jre1.8.0_161/bin/java
连接。
您能够删除先前下载的存档文件:
$ rm ~/jre-8u161-linux-x64.rpm
注意:要安装Oracle Java 8 JDK,您须要转到Oracle Java 8 JDK下载页面,接受许可协议,并复制相应Linux .rpm软件包的下载连接。
切换到您的主目录并使用如下命令下载Oracle Java 8 JDK RPM:
$ cd ~ $ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://link_copied_from_site"
而后使用此yum命令安装RPM(若是您下载了其余版本,请在此处替换文件名):
$ sudo yum localinstall jdk-8u161-linux-x64.rpm
在确认提示下,输入y而后RETURN继续安装。
如今Java应该安装在/usr/java/jdk1.8.0_161/jre/bin/java
,并从/usr/java/jdk1.8.0_161/jre/bin/java
连接。
您能够删除先前下载的存档文件:
$ rm ~/jdk-8u161-linux-x64.rpm
若是您安装了多个版本的Java,则须要将其中的某一个设置为默认值(即用户运行java命令时将运行的版本)。此外,某些应用程序须要设置某些环境变量来定位要使用的Java安装。本节将向您展现如何执行此操做。
顺便说一句,要检查默认Java的版本,请运行如下命令:
$ java -version
alternatives
命令经过符号连接管理默认命令,可用于选择默认Java命令。
要打印提供java由其管理的命令的程序alternatives,请使用如下命令:
$ sudo alternatives --config java
输出应该相似如下结果:
output There are 5 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.161-2.6.12.0.el7_4.x86_64/jre/bin/java) 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java) 3 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java *+ 4 /usr/java/jre-9.0.4/bin/java 5 /usr/java/jdk-9.0.4/bin/java Enter to keep the current selection[+], or type selection number:
只需输入选择号便可选择java默认状况下应使用的可执行文件。
许多Java应用程序使用JAVA_HOME或JRE_HOME环境变量来肯定java要使用的可执行文件。
例如,若是您安装Java在 /usr/java/jdk1.8.0_161/jre/bin
(便可java执行文件位于/usr/java/jdk1.8.0_161/jre/bin/java),您能够设置环境变量 JAVA_HOME 在bash shell或脚本中,以下所示:
$ export JAVA_HOME=/usr/java/jdk1.8.0_161/jre
若是要将环境变量 JAVA_HOME 在系统上为每一个用户可用,请运行如下命令:
$ sudo sh -c "echo export JAVA_HOME=/usr/java/jdk1.8.0_161/jre >> /etc/environment"
恭喜,您如今能够运行和/或开发Java应用程序了!