CentOS7 下rpm安装jdk1.8「建议收藏」

CentOS7 下rpm安装jdk1.8「建议收藏」【1】查看并卸载自带的openjdk查看系统中默认安装的jdk:rpm-qa|grepjdk卸载JDK相关文件:yum-yremovejava-1.7.0-openjdk*“*”表示卸载掉java1.7.0的所有openjdk相关文件。或者如下卸载jdk:yum-yremovejava-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

大家好,又见面了,我是你们的朋友全栈君。

【1】查看并卸载自带的openjdk

查看系统中默认安装的jdk:

rpm -qa|grep jdk

卸载JDK相关文件:

yum -y remove java-1.7.0-openjdk*

“*”表示卸载掉java 1.7.0的所有openjdk相关文件。


或者如下卸载jdk:

yum -y remove java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

【2】下载并安装jdk1.8.0_144

去官网下载rpm包:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

这里写图片描述
或者直接使用wget命令在linux服务器上下载:

 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm

安装rpm包:

rpm -ivh jdk-8u144-linux-x64.rpm

这里写图片描述


查看系统默认java版本

java -version

这里写图片描述

说明安装成功。


修改profile文件

追加脚本如下:

vim /etc/profile

这里写图片描述

或者如下(另外一个环境的配置实例非本文):

export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

保存退出,使其生效:

source /etc/profile

使用java -version 和 javac检测如下:

这里写图片描述


【3】为什么要卸载openjdk

关于JDK和OpenJDK的区别,可以归纳为以下几点:

  • Oracle JDK版本将每三年发布一次,而OpenJDK版本每三个月发布一 次;
  • OpenJDK 是一个参考模型并且是完全开源的,而Oracle JDK是 OpenJDK的一个实现,并不是完全开源的;
  • Oracle JDK 比 OpenJDK 更稳定。OpenJDK和Oracle JDK的代码几乎 相同,但Oracle JDK有更多的类和一些错误修复。因此,如果您想开发企 业/商业软件,我建议您选择Oracle JDK,因为它经过了彻底的测试和稳 定。某些情况下,有些人提到在使用OpenJDK 可能会遇到了许多应用程 序崩溃的问题,但是,只需切换到Oracle JDK就可以解决问题;
  • 在响应性和JVM性能方面,Oracle JDK与OpenJDK相比提供了更好的 性能;
  • Oracle JDK不会为即将发布的版本提供长期支持,用户每次都必须通过 更新到最新版本获得支持来获取最新版本;
  • Oracle JDK根据二进制代码许可协议获得许可,而OpenJDK根据GPL v2许可获得许可。

① 授权协议的不同

openjdk采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。


② OpenJDK不包含Deployment(部署)功能

部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在Openjdk中是找不到的。


③ OpenJDK源代码不完整

这个很容易想到,在采用GPL协议的Openjdk中,sun jdk的一部分源代码因为产权的问题无法开放openjdk使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码(OpenJDK6),促使OpenJDK更加完整。


④ 部分源代码用开源代码替换

由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。


⑤ openjdk只包含最精简的JDK

OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。


⑥ 不能使用Java商标

这个很容易理解,在安装openjdk的机器上,输入“java -version”显示的是openjdk,但是如果是使用Icedtea补丁的openjdk,显示的是java。(未验证)

总之,在Java体系中,还是有很多不自由的成分,源代码的开发不够彻底,希望Oracle能够让JCP更自由开放一些,这也是所有Java社区所希望的。


【4】yum安装openjdk

通常如果不做特殊要求,可以使用openjdk。

① 检测是否安装

[root@pan remote]# rpm -qa|grep jdk

或者

[root@pan remote]# yum list installed | grep jdk

② 检测可安装版本并安装

yum search java | grep -i --color jdk

在这里插入图片描述

③ 安装jdk1.8

 yum install -y java-1.8.0-openjdk.x86_64

④ 查看安装结果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134038.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • id门禁卡复制到手机_怎么把手机变成门禁卡 手机NFC复制门禁卡图文教程

    id门禁卡复制到手机_怎么把手机变成门禁卡 手机NFC复制门禁卡图文教程无论是在学校、小区或者是单位里面,一般都会有一道安全的门禁,保证范围内部的安全。但是每次都需要找到专用的门禁卡开门,经常容易忘记或者不小心弄丢了。今天,小编教大家一个技巧,教你如何把门禁卡悄无声息的放在手机上,这样以后就可以用手机当门禁卡了,这样是不是方便很多呢?下面是详细的方法步骤。通过修改手机NFCID过门禁大概流程就是利用手机上的APP(推荐:NFCTagInfo)读取出门禁卡的ID,然…

  • Unity3D开发资料

    Unity3D开发资料分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!               前言(一定要看)首先说

  • android之View的启动过程[通俗易懂]

    程序里调用了onSizeChanged方法进行了一些设置,不知道onSizeChanged是在什么时候启动的,所以研究了一下View的启动流程代码如下:public class TestView extends View { public TestView(Context context) { super(context); Log.d(“mDebug”, “TestV

  • java实现cs架构_cs模型人物看不见

    java实现cs架构_cs模型人物看不见Java网络编程案例–CS模型的简单实现Java网络编程案例CS模型的简单实现基本概述程序原理图源代码基本概述该程序采用C/S模型,在服务器端简单的建立了一个多线程类,来实现对多个客户端传入的数据进行处理。在客户端行处理类,对数据进行一次解析,再调用各个发送类进行处理。采用固定的命令格式,字符编码格式以及字节流,实现了消息发送,二进制文件和文本文件传送,下载文件的功能。程序原理图源代码:J

  • log4j.properties连接到数据库中

    log4j.properties连接到数据库中

  • 公网远程开机(唤醒家庭PC)

    公网远程开机(唤醒家庭PC)一、背景前一段搞使用seafile搞了私有云盘,不过不需要的时候开着电脑好像有点浪费,所以就开始了通过公网开机的道路二、关键性问题问题要说在前面,常规性的东西百度一般配置都可以搞定,如果各种面向百度的配置都已经尝试,请注意如下问题。. 一定在被开机的直连路由设备上进行MAC与IP地址绑定(原理略)。局域网直接子网内广播发送可以不用绑定。 被开机的系统需要安装对应的网卡驱动(实验CentOS7是有问题的,windows用驱动精灵安装下网卡驱动搞定)三、通过互联网公网远程开机一般性步骤按照常

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号