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

在 RHEL/CentOS 上安装 OpenJDK 和 Oracle JDK

级别: 论坛版主
发帖
9333
云币
14094
QZa#i L  
{UC<I.5X  
前言 'CAukk|  
M9jo<+  
n*4X/K  
本教程将向您展示如何在 RHEL 7 和 6,同样适用于基于 RHEL 的 CentOS 以及其他发行版。Java 是一种非常流行的软件平台,在 Web 应用领域有着非常不错的使用率和优势。 QV7c9)<]'}  
教程将涵盖以下Java版本的安装
  1. OpenJDK
  2. Oracle Java
Mciq9{8&  
z2q5f :d8  
4m(>"dHP  
介绍 NITx;iC  
9Kx:^~}20o  
YYr&r.6  
0THAI  
名称 Vd>.fb\U2  
7b%Cl   
.EZ{d  
Java 其实是一个很尴尬的一个词了,比如说一个软件说我需要安装 Java 1.7 的环境,结果你好不容易从国内搜索引擎中搜索 Java 绕开了一堆下载站找到 Oracle 的 Java 官方后,结果又有什么 JAVA SE、EE、ME、JDK、JRE 啥的。然后找到了 JDK 又发现是 7 8 9 命名的,要 1.7 是什么鬼? [ .uaO  
v/+}FS=  
^o\p|f>f  
JRE: Java Runtime Environment Z?aR9OTP  
JDK: Java Development Kit RW^v{'o  
et}Y4,:  
CWsv#XOg]  
JRE 是 Java 运行时环境,包含了 Java 虚拟机,Java 基础类库。是使用 Java 语言编写的程序运行所需要的软件环境,是提供给想运行 Java 程序的用户使用的。 ZboJszNb;  
(NN14  
.FRF<_`^  
JDK 是 java 开发工具包,是程序员使用java语言编写j Java 程序所需的开发工具包,是提供给程序员使用的。JDK 包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具:Jconsole,Jvisualvm 等工具软件,还包含了 Java 程序编写所需的文档和 Demo 例子程序。 J15T!_AW<  
G-?9;w'@  
}V,M0b>  
而 Java 又有三种平台,标准版(SE),企业版(EE)和微型版(ME)。当然了 JavaEE 现在已经被 Eclipse 基金会接管改名 Jakarta EE 了。 B^Mtj5Oc  
|aJ6363f.  
nJH%pBc  
这三个平台的主要区别就在于基础类库的不同,也正是因为这些基础库的不同,导致他们的针对性不同。 oySM?ZE  
nKkTnTSa  
arL&^]JnZ,  
Jakarta EE 是其中类库最多的,针对服务、Web应用等大型程序。 tg3JU\  
x%ag.g2I  
o xu9v/  
Java SE 包含最普遍的类库,针对的是普通 Java 程序。 gt(nZ  
rL3Vogw'e  
lS-i9U/,>  
Java ME 进行了进一步缩减,减少了整个环境的占用空间,针对性能不高的嵌入式环境。 Ayt!a+J  
R3`W#`  
(k.7q~:  
一般来说在云服务中要运行 Java 环境我们 安装 JDK 即可。 x99 Oq!  
<yO9j   
版本 _'p;V[(+M  
~0Q72  
K): sq{  
在版本上么,大家都以大的 Java 叫,比如说 Java 8、Java 9 和最新出的 Java 10。同时也会对应硕士 1.8 1.9 这样的叫法。 # |[@Due  
5D*V%v  
变体 ~kT{O!x}4  
/loN Outw  
u Aa>6R  
Java还有两种不同的实现:OpenJDK 和 Oracle Java。这两种实现都基于相同的代码,但 OpenJDK 完全是开源的,而 Oracle Java包含一些专有代码。大多数 Java 应用程序都可以在两者之间正常工作,具体以软件的运行环境说明为准。 C YKGf1;If  
 +@7R,8  
安装 ~J:lC u  
U5 "v1"Ec  
`Db}q^mQ  
yo6IY  
OpenJDK ! NE q|Y  
-~ Q3T9+  
n\9*B##  
尽管目前 OpenJDK 已经推出到了 10 系列,但是主流的发行版可能还没有支持,很多发行版可能才只是刚刚支持到 9。 _lqAxWH  
bYH_U4b  
搜索 OpenJDK vdzC2T  
n//a;m  
,CF~UX% bU  
我们可以用不同发行版的包管理工具来搜索一下发行版支持的 OpenJDK 版本: YO+d+5  
RHEL/CentOS 上搜索 OpenJDK : kk#d-! $[  
  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
uGWk(qn  
H/f= 2b  
}clNXtN  
Fedora 上搜索 OpenJDK : 8+F2 !IM  
  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
XW:(FzF  
+ P.Ir  
安装 OpenJDK uESHTX/[  
r$zXb9a|<  
9,+LNZ'k  
知道我们的发行版的软件源中支持的发行版版本后,我们选择一个版本进行安装。 7lu;lAAP  
安装 OpenJDK 6:
  1. yum install java-1.6.0-openjdk-headless java-1.6.0-openjdk java-1.6.0-openjdk-devel
\g/E4U .+  
eO#)QoHj^  
安装 OpenJDK 7:
  1. yum install java-1.7.0-openjdk-headless java-1.7.0-openjdk java-1.7.0-openjdk-devel
T^t`H p  
%+}\i'j7  
安装 OpenJDK 8:
  1. yum install java-1.8.0-openjdk-headless java-1.8.0-openjdk java-1.8.0-openjdk-devel
z)Gr`SA<  
2e &Zs%u  
OpenJDK 也有提供 9、10 版本,但是发行版没有提供,可以到 OpenJDK 官网下载安装:
  1. http://jdk.java.net/10/
  2. http://jdk.java.net/9/
~8K~@e$./  
$MHc4FE[  
Oracle Java &bb*~W-  
`SWK(='  
oT w1w  
我们将使用该 wget 命令下载 Oracle Java 软件包,以上面 OpenJDK 在 RHEL 软件源中没有提供的 9 和 10 版本为例吧。 O^GTPYW  
Y&?]t  
安装 Oracle Java JRE 4"@yGXUb  
y|ZJ-[qg  
;x"B ):?\  
为了安装 Oracle Java JRE,我们需要到 Oracle Java 9 JRE 的下载页面,接受许可协议,并复制相应Linux .rpm软件包的下载链接,用复制的下载。 &Jz%L^  
yL1\V7GI{[  
m`t7-kiZ  
Oracle Java 9 JRE 下载页面: http://www.oracle.com/technetwork/java/javase/downloads/jre9-downloads-3848532.html #PGExN3e  
Oracle Java 10 JRE 下载页面:http://www.oracle.com/technetwork/java/javase/downloads/jre10-downloads-4417026.html $!t!=  
然后下载
  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://下载地址"
fO+;%B  
$xqphhBg  
例如:
  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"
P`0aU3pl  
<W1!n$V ]  
进行安装,注意最后的文件名:yum install jre-10_linux-x64_bin.rpm aG!!z>  
3e"G.0vJ  
安装 Oracle Java JDK #t\Oq9}^  
6Dch+*4*@  
2ZnTT{]_m  
老样子,到 Oracle Java 9 JDK 的下载页面,接受许可协议,并复制相 应Linux .rpm 软件包的下载链接,用复制的下载。 +] uY  
Oracle Java 9 JDK 下载页面: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html ^I^k4iw 4  
Oracle Java 10 JDK 下载页面:http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html vwg\qKqSM  
然后下载:
  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://下载地址"
.w`8_v&Y  
p?%G|Q  
例如:
  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"
nt4>9;  
v{I:Wxe  
进行安装,注意最后的文件名:"
  1. yum install jdk-10_linux-x64_bin.rpm
YEGXhn5E  
N$. ''D?7D  
<I} k%q'  
设置 FT=w`NE,+  
C>LkU|[  
dJ$}]   
~-,<`VY  
查看版本 7eY*Y"GX  
b2z~C{l  
>:s:`Au  
安装成了如何检验?java -version K@h v[4  
输入上述命令就会反馈结果了: @wB$qd;v  
  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)
K,J:i^2  
o rEo$e<  
=oSv=xY  
o zv><e#  
多版本选择 jA6:-Gz  
f9!wO';P6  
W8\K_M}  
如果我们安装了多个 JAVA,例如 OpenJDK 也有,Oracle JDK 也有,那么咋办呢? CFVe0!\  
通过 alternatives 命令,可以用来选择默认的Java命令。 )wAqaG_d  
  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:
]zu" x9-`  
Lt_7pb%  
8K{ TRPy  
/mvuSNk  
带星号的就是选中的默认版本,输入数字可以调整不同的版本。 4"0`J  
9Y~A2C  
使用环境变量 V\Rbnvq  
.0nL; o  
 ;A1pqHr  
许多Java应用程序使用 JAVA_HOME 或 JRE_HOME 环境变量来确定 Java 要使用哪个可执行文件。 gVk_<;s  
例如,如果安装了 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
Q[S""P.Z|  
J-hP4t&x  
如果想要以 JAVA_HOME 认为系统中的每个用户设置,请将上一行添加到 /etc/environment 文件中。将其附加到文件的简单方法是运行此命令:
  1. sh -c "echo export JAVA_HOME=/usr/java/jdk1.8.0_161/jre >> /etc/environment"
|0dmdrKD  
oC"c%e8  
[ 此帖被妙正灰在2018-03-31 18:48重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 26 + 61 = ?
上一个 下一个