开发环境:

主机:centoOS 6、Ubuntu14.04

JDK版本:jdk1.8.0_191

0.1卸载系统自带的OpenJDK

在CentOS上安装JDK的时候,查找相关的资料,发现安装JDK之前都需要检查或卸载系统上原生的Open JDK。

OpenJDK是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,OpenJDK已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。

至于OpenJDK6则更是有其复杂的一面,首先是OpenJDK6是jdk7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。

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

一.授权协议的不同

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社区所希望的。

好了,废话就不说了,我们先来卸载吧。

第一步:检查一下系统中的jdk版本

# java -version

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_linux

第二步:检测jdk安装包

# rpm -qa | grep java

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_Java_02

【注】命令说明:

rpm   管理套件

-qa   使用询问模式,查询所有套件

grep  查找文件里符合条件的字符串

java   查找包含java字符串的文件

第三步:卸载OpenJDK

#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 
#rpm -e --nodeps java-1.7.0-openjdk-1.7.0.181-2.6.14.10.el6.x86_64
#rpm -e --nodeps tzdata-java-2018e-3.el6.noarch

或者使用

# yum remove ​openjdk

【注】命令介绍:

rpm     管理套件

-e     删除指定的套件

–nodeps  不验证套件档的相互关联性

第四步:查是否已经删除成功

在命令窗口键入:

#java -version

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_linux_03

表示卸载成功。

【注】本教程主要是为了JavaEE开发搭建环境,因此需要卸载OpenJDK。如果只是简单的开发,使用OpenJDK即可。

0.2 Linux系统通用安装JDK

我们需要安装基础版本JavaSE。笔者在这里主要讲解的是在Linux上搭建Java开发环境,主要是针对服务器的一些讲解。关于在Window搭建Java开发环境请参看我之前的文章

接下来就是安装JDK。

第一步:下载安装包

下载Linux环境下的jdk1.8,请去(​​官网​​)中下载jdk的安装文件;

由于我的Linux是64位的,因此我下载jdk-8u191-linux-x64.tar.gz。如下所示。

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_java_04

图1

如果Linux本身连接到互联网,我们可以直接通过wget命令直接把JDK安装包下载下来,如下所示。

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_环境搭建_05

图2

要是没有外网的环境,还是安装上面的方法下载安装包,然后上传到服务器当中。

第二步:在usr目录下建立java安装目录

#cd /usr

#mkdir java

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_java_06

第三步:将jdk-8u191-linux-x64.tar.gz拷贝到java目录下

#cp ~/share/jdk-8u191-linux-x64.tar.gz /usr/java/

【注】拷贝的方式有很多种,如果是在主机中下载的使用cp命令就可以搞定了;如果是从主机外部拷贝可以使用xftp等工具。笔者使用共享文件夹的方式拷贝文件的(笔者用的虚拟机,如果是云主机的话,就得使用xftp等工具,xftp对于任何情况都是适用的)。

第四步:解压安装包

将我们下载好的JDK安装包上传到服务器,进行解压。

#tar -zxvf jdk-8u191-linux-x64.tar.gz

进入解压后的文件夹中查看。

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_Java_07

第五步:配置JDK环境变量

# vim /etc/profile

添加

export JAVA_HOME=/usr/java/jdk1.8.0_191  
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH JAVA_HOME

执行profile文件,使之生效。

# source /etc/profile

这样可以使配置不用重启即可立即生效。

第六步:检查新安装的jdk

# java -version

显示:

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_Java_08

​ 编写一个简单的Hello.java测试​

#vim Hello.java

public class Hello{
public static void main(String[] args){
System.out.println("hello world!");
}
}

# javac Hello.java

# java Hello

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_Java_09

程序运行成功,到此为止,整个安装过程结束。

0.3 Ubuntu系统安装JDK

1、添加ppa

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

2、安装oracle-java-installer

$ sudo apt-get install oracle-java8-installer

【注1】安装器会提示你同意 oracle 的服务条款,选择 ok

然后选择yes 即可。

【注2】如果你因为网络或者其他原因,导致installer 下载速度很慢或无法下载,可以中断操作.然后下载好相应jdk的tar.gz 包,放在:/var/cache/oracle-jdk8-installer下面,然后安装一次installer,installer则会默认使用你下载的tar.gz包。

3、测试

$ java -version

可以看到以下信息则表示配置成功

《Java开发 - 第1部分 基础篇》第0章 Linux搭建Java开发环境_linux_10

0.3 Red hat 或centOS系统安装JDK

1、通过官网下载选定版本的rpm包,然后放在指定目录下(这里是/tmp)

进入指定目录下cd /tmp

2、添加执行权限

# chmod +x /tmp/jdk-8u191-linux-x64.rpm

3、rpm安装

# rpm -ivh /tmp/jdk-8u191-linux-x64.rpm

4、查看版本信息

# java -version