阿里云
发表主题 回复主题
  • 788阅读
  • 0回复

在 RHEL/CentOS 上安装 OpenJDK 和 Oracle JDK

级别: 论坛版主
发帖
9336
云币
14113
l?rLadvc  
8O(L;&h  
前言 q86}'dFw{  
Rg\4#9S JF  
%.]#3tW  
本教程将向您展示如何在 RHEL 7 和 6,同样适用于基于 RHEL 的 CentOS 以及其他发行版。Java 是一种非常流行的软件平台,在 Web 应用领域有着非常不错的使用率和优势。 f-|zh#L  
教程将涵盖以下Java版本的安装
  1. OpenJDK
  2. Oracle Java
' (XB|5  
rIYO(}Fl  
x4g/ok  
介绍 0s H~yvM5  
6OAEAIh  
/{jt]8/;7  
U{bv|vF  
名称  :TR:tf  
-y|']I^ &  
%eW7AO>  
Java 其实是一个很尴尬的一个词了,比如说一个软件说我需要安装 Java 1.7 的环境,结果你好不容易从国内搜索引擎中搜索 Java 绕开了一堆下载站找到 Oracle 的 Java 官方后,结果又有什么 JAVA SE、EE、ME、JDK、JRE 啥的。然后找到了 JDK 又发现是 7 8 9 命名的,要 1.7 是什么鬼? YcclO  
v_pe=LC{-e  
:@"o.8p   
JRE: Java Runtime Environment b]Kb ~y|  
JDK: Java Development Kit <uJ {>~  
DTM(SN8R+n  
S5, u| H  
JRE 是 Java 运行时环境,包含了 Java 虚拟机,Java 基础类库。是使用 Java 语言编写的程序运行所需要的软件环境,是提供给想运行 Java 程序的用户使用的。 XTk :lzFH  
vV$^`WY4  
K@xMPB8in  
JDK 是 java 开发工具包,是程序员使用java语言编写j Java 程序所需的开发工具包,是提供给程序员使用的。JDK 包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具:Jconsole,Jvisualvm 等工具软件,还包含了 Java 程序编写所需的文档和 Demo 例子程序。 n'{jc 6&|  
~6Fh,S1?  
~n) |  
而 Java 又有三种平台,标准版(SE),企业版(EE)和微型版(ME)。当然了 JavaEE 现在已经被 Eclipse 基金会接管改名 Jakarta EE 了。 vE8'B^h1  
f(eXny@Y  
m9MY d  
这三个平台的主要区别就在于基础类库的不同,也正是因为这些基础库的不同,导致他们的针对性不同。 qC"`i}7  
rr\9HA  
#3LZX!  
Jakarta EE 是其中类库最多的,针对服务、Web应用等大型程序。 mwsBj)  
Lb<IEy77\  
s-'~t#h  
Java SE 包含最普遍的类库,针对的是普通 Java 程序。 ^c(r4#}$"  
Z:>3AJuS_  
)4s7,R  
Java ME 进行了进一步缩减,减少了整个环境的占用空间,针对性能不高的嵌入式环境。 -AD` (b7q  
@4Bl&(3S  
vO~w~u5  
一般来说在云服务中要运行 Java 环境我们 安装 JDK 即可。 zDtC]y'  
I+.U.e^gx  
版本 r#1W$~?>  
pM+9K:^B  
xr@;w8X`^  
在版本上么,大家都以大的 Java 叫,比如说 Java 8、Java 9 和最新出的 Java 10。同时也会对应硕士 1.8 1.9 这样的叫法。 ni2 [K`  
$M0l (htR  
变体 }:{ @nP  
.=<s@Sg,t  
pV (Mh[ }P  
Java还有两种不同的实现:OpenJDK 和 Oracle Java。这两种实现都基于相同的代码,但 OpenJDK 完全是开源的,而 Oracle Java包含一些专有代码。大多数 Java 应用程序都可以在两者之间正常工作,具体以软件的运行环境说明为准。 Yy]TU} PY  
mOHOv61  
安装 i%<NKE;v7m  
8rlf9m  
[*(1~PrlO,  
&nVekE:!  
OpenJDK OvwoU=u  
+e*C`uP!  
WoB'B|%  
尽管目前 OpenJDK 已经推出到了 10 系列,但是主流的发行版可能还没有支持,很多发行版可能才只是刚刚支持到 9。 YqWNp  
qa@;S,lp  
搜索 OpenJDK v5pkP  
"x$L 2>9  
"[fPzIP9  
我们可以用不同发行版的包管理工具来搜索一下发行版支持的 OpenJDK 版本: 2^Im~p~ByE  
RHEL/CentOS 上搜索 OpenJDK : >7cj. %  
  1. yum search java | grep openjdk
  2. java-1.6.0-openjdk.x86_64
  3. java-1.7.0-openjdk-headless.x86_64
  4. java-1.8.0-openjdk-headless.x86_64
_7';1 D  
rr(kFQ"  
xZ%3e sp  
Fedora 上搜索 OpenJDK : eY?OUS  
  1. dnf search java | grep openjdk
  2. java-1.6.0-openjdk.x86_64
  3. java-1.7.0-openjdk-headless.x86_64
  4. java-1.8.0-openjdk-headless.x86_64
>Je$WE3  
zd- *UF i  
安装 OpenJDK k'&1,78[l  
et/l7+/'  
$6 Hf[(/e  
知道我们的发行版的软件源中支持的发行版版本后,我们选择一个版本进行安装。 |x&4vHXR0  
安装 OpenJDK 6:
  1. yum install java-1.6.0-openjdk-headless java-1.6.0-openjdk java-1.6.0-openjdk-devel
>$CNR*}@  
"%dENK  
安装 OpenJDK 7:
  1. yum install java-1.7.0-openjdk-headless java-1.7.0-openjdk java-1.7.0-openjdk-devel
4Wa$>vz  
!blGc$kC  
安装 OpenJDK 8:
  1. yum install java-1.8.0-openjdk-headless java-1.8.0-openjdk java-1.8.0-openjdk-devel
f>cUdEPBb  
O0BDUpH  
OpenJDK 也有提供 9、10 版本,但是发行版没有提供,可以到 OpenJDK 官网下载安装:
  1. http://jdk.java.net/10/
  2. http://jdk.java.net/9/
Z[Iej:o5  
('j'>"1H  
Oracle Java Lp}V 94xT  
;"EDFH#W  
%t1Z!xv_  
我们将使用该 wget 命令下载 Oracle Java 软件包,以上面 OpenJDK 在 RHEL 软件源中没有提供的 9 和 10 版本为例吧。 [5-Ik T0  
F2Ny=H &G  
安装 Oracle Java JRE y/_=  
-H[@]Q4w  
|FlB#  
为了安装 Oracle Java JRE,我们需要到 Oracle Java 9 JRE 的下载页面,接受许可协议,并复制相应Linux .rpm软件包的下载链接,用复制的下载。 0v1~#KCm  
A>S7Ap4z>  
&+oJPpHi\  
Oracle Java 9 JRE 下载页面: http://www.oracle.com/technetwork/java/javase/downloads/jre9-downloads-3848532.html %'=TYvB 2  
Oracle Java 10 JRE 下载页面:http://www.oracle.com/technetwork/java/javase/downloads/jre10-downloads-4417026.html .ty2! .  
然后下载
  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://下载地址"
J &=5h.G$  
.Q@]+&`|}i  
例如:
  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/10+46/76eac37278c24557a3c4199677f19b62/jre-10_linux-x64_bin.rpm"
+@8, uL  
=*+f2  
进行安装,注意最后的文件名:yum install jre-10_linux-x64_bin.rpm egfd=z=2un  
" ? V;C  
安装 Oracle Java JDK ev/)#i#s{  
G$Fo*;Fl  
U%VFr#  
老样子,到 Oracle Java 9 JDK 的下载页面,接受许可协议,并复制相 应Linux .rpm 软件包的下载链接,用复制的下载。 ga;t`5+d  
Oracle Java 9 JDK 下载页面: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html r<P?F  
Oracle Java 10 JDK 下载页面:http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html *(/b{!~  
然后下载:
  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://下载地址"
c1*^ \   
{ynI]Wj`L  
例如:
  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/10+46/76eac37278c24557a3c4199677f19b62/jdk-10_linux-x64_bin.rpm"
?h#F& y  
~:_10g]r  
进行安装,注意最后的文件名:"
  1. yum install jdk-10_linux-x64_bin.rpm
+>a(9r|:  
56NDU>j$  
o(3OChH  
设置 }J\7IsM&  
f|s,%AU"i  
S|yDGT1  
+f_3JL$  
查看版本 Yc5) ^v  
.0X 5Vy  
?$/W3Xn0%  
安装成了如何检验?java -version _71I9V&  
输入上述命令就会反馈结果了: ,|UwZ_.  
  1. [root@www.mf8.biz ~]# java -version
  2. java version "10" 2018-03-20
  3. Java(TM) SE Runtime Environment 18.3 (build 10+46)
  4. Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
}1sd<<\`  
4!'4 l=jO  
nnd-d+$  
"88<{xL  
多版本选择 8D^ iQBA  
Q b5vyV `  
=}SC .E\  
如果我们安装了多个 JAVA,例如 OpenJDK 也有,Oracle JDK 也有,那么咋办呢?  10_@'N  
通过 alternatives 命令,可以用来选择默认的Java命令。 2)q$HUIX  
  1. [root@www.mf8.biz ~]# alternatives --config java
  2. There are 2 programs which provide 'java'.
  3.   Selection    Command
  4. -----------------------------------------------
  5.    1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java)
  6. *+ 2           /usr/java/jre-10/bin/java
  7. Enter to keep the current selection[+], or type selection number:
U\YzE.G1]S  
8..g\ZT  
: +fW#:  
f2Tz5slE  
带星号的就是选中的默认版本,输入数字可以调整不同的版本。 3.?oG5 P#  
7zXX& S  
使用环境变量 $1D>}5Ex  
0IbR>zFg.  
<a D}Ko(  
许多Java应用程序使用 JAVA_HOME 或 JRE_HOME 环境变量来确定 Java 要使用哪个可执行文件。 BUla2p  
例如,如果安装了 Java /usr/java/jdk1.8.0_161/jre/bin(即可 Java 执行文件位于/usr/java/jdk1.8.0_161/jre/bin/java),则可以将JAVA_HOME环境变量设置为 bash shell 或脚本,如下所示:
  1. export JAVA_HOME=/usr/java/jdk1.8.0_161/jre
:YmFQ>e?  
$\nAGmp@  
如果想要以 JAVA_HOME 认为系统中的每个用户设置,请将上一行添加到 /etc/environment 文件中。将其附加到文件的简单方法是运行此命令:
  1. sh -c "echo export JAVA_HOME=/usr/java/jdk1.8.0_161/jre >> /etc/environment"
c 9zMI  
0VI[6t@  
[ 此帖被妙正灰在2018-03-31 18:48重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个