CentOS 7安装 jdk1.8

1、Cent OS中默认安装了open jdk

(1)查看默认安装的jdk

[root@localhost html]# java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)

但这个jdk并不是大家项目中,开发用的jdk,在我们部署系统的时候,需要用sun jdk替换掉open jdk。

(2)先来看看sun jdk是什么样的

[root@Beta-nginx conf]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

(3)两个jdk有什么区别
百度了一下,简单来说就这么几条

  • 授权协议不同
  • OpenJDK不包含Deployment(部署)功能
  • OpenJDK源代码不完整
  • OpenJDK只包含最精简的JDK
  • 不能使用Java商标

简单来说,就是OpenJDK是开源版本,你可以用,但是功能不完整,但是不能用Java商标;而Sun JDK,Sun公司被甲骨文(Oracle)收购后,改名叫了Oracle JDK

而甲骨文这个心机婊总共花了74亿美元收购Sun,8个月后,就起诉Google的Android侵权,索赔88亿美元,哈哈,真特么逗。
骄傲的Google被资深心机婊坑了,要赔88亿美金

扯得有点远了,回来看看如何安装sun jdk吧(就是不改口oracle jdk,气死丫的)

2、Java SE、EE、ME

搜索jdk,进入java下载页,
这里写图片描述

SE、EE、ME有什么区别?懵逼吗?
记得09年,下班的路上,Java开发同事就给我们几个测试讲这3个的区别,这些年也反复看,不理解,还是不理解,所以,我就不误导你了。

我们用SE这哥们就行了
这里写图片描述
然后下滑页面,找到需要的版本,我这里选择jdk 1.8,然后找到右侧的JDK,点击Download按钮
这里写图片描述
可以看到,
(1)上面显示了版本
(2)下面左侧是适用于不同操作系统的jdk,有Linux arm的,有Linux x86的(32位操作系统),有Linux x64的(64位操作系统)。另外还有mac os的,有Solaris(Unix,这个你应该听说过),还有windows的。

arm和x64或x86的区别在于CPU架构不同,使用的指令集不同。

你可能有个问题,你的服务器是arm还是x86架构,是32位还是64位呢?

[root@localhost tools]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

可以看到我的机器是x64

(3)右侧显示了不同格式的包
有rpm包,可以理解为windows中的.exe安装包,需要安装
有.tar.gz,可以理解为windows中的绿色包,解压即可用

3、安装Sun JDK1.8

(1)点击Accept License Agreement
(2)在要下载的版本上面,右键,复制链接
(3)回到SecureCRT,使用wget命令下载

[root@localhost tools]# wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz

上面我下载的是.tar.gz包
但是在解压的时候总是报不是gz文件,搜索了下原因,有人推荐本地下载后,然后上传

(4)重新上传本地下载的tar.gz文件,解压

[root@localhost tools]# tar -zxvf jdk-8u171-linux-x64.tar.gz 
[root@localhost tools]# ls
jdk1.8.0_171  jdk-8u171-linux-x64.tar.gz

(5)配置环境变量


#set java environment
JAVA_HOME=/usr/local/tools/jdk1.8.0_171
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

试试吧,还不行,对不对,请看下一步

(6)最后一步
文章开头我们说了,centos内置已经装了openjdk,并且我们敲命令就可以用,所以它应该已经加入到了环境变量。
我们第5步,只是加入了环境变量。但是还需要

安装完成后,看看/usr目录下是否已经有了java目录,有了表示正常安装了。
此时java -version的时候还会发现java版本还是 OpenJDK。
这个时候进入/usr/bin目录 查找java javac 可以发现,这两个符号链接指向系统默认的jdk目录。删除java javac

[root@localhost bin]# ln -s /usr/local/tools/jdk1.8.0_171/bin/java java
[root@localhost bin]# ln -s /usr/local/tools/jdk1.8.0_171/bin/javac javac

或者试试下面的方法(我没试)
(1)
/etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/
export PATH= PATH: P A T H : JAVA_HOME/bin
export JRE_HOME=” JAVAHOME/jreexportCLASSPATH=.: J A V A H O M E / j r e ” e x p o r t C L A S S P A T H = . : JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar

修改完成后,使用source /etc/profile 命令进行更新;

(2)下面这几步比较重要,因为在许多linux系统中都预装了openjdk,所以即使上面进行了这些设置,系统默认的还不是我们要设置的内容;如果要真正使用我们自己的jdk,还需要一下步骤:

sudo update-alternatives –install /usr/bin/java java /usr/java/jdk1.7.0_67-cloudera/bin/java 300

sudo update-alternatives –install /usr/bin/javac javac /usr/java/jdk1.7.0_67-cloudera/bin/javac 300

(这里的300只是标识一下,没什么意义,只是下一步要用到)

(3)大功告成,使用java -version 命令来查看我们的java环境变量,显示如下内容:

java version “1.7.0_05”
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)

  • 对于更新一个 /usr/bin/xxx 命令指向一个新的路径可以用 sudo update-alternatives –config xxx

好了,来看看java版本

[root@localhost bin]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

终于搞定了,泪流满面啊。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值