欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS 7安装 jdk1.8

程序员文章站 2024-03-14 20:20:11
...

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下载页,
CentOS 7安装 jdk1.8

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

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

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

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

[aaa@qq.com 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:JAVA_HOME/bin
export JRE_HOME=”JAVAHOME/jreexportCLASSPATH=.: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)

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

上一篇: Spring入门开发

下一篇: