本文介紹如何在 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應用程序了!