首页 > 代码库 > (转)Linux(Centos)之安装Java JDK及注意事项

(转)Linux(Centos)之安装Java JDK及注意事项

场景:天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。

1 准备工作

1.1 检查系统版本

建议:在安装软件时候用root用户进行安装。

因为Java JDK区分32位和64位系统,所以在安装之前必须先要判断以下我们的Centos系统为多少位系统,命令如下:

uname -a
解释:如果有x86_64就是64位的,没有就是32位的。后面是X686或X86_64则内核是64位的,i686或i386则内核是32位的
 技术分享
由此可以判断我的centos为64位系统,故而我需要下载64位系统的JDK。

1.2下载JDK

这里我用的是1.7版本的JDK,并没有选择新版本1.8,因为我觉得这个版本的JDK比较稳定。
点击http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,进入JDK下载页面
技术分享

底部的Java Archive保存的是Java的历史存档,点击进入

技术分享

这里就找到要下载的1.7版本了,继续点击

技术分享

下面两个都是64位的JDK,两个的区别在于安装方式不同。参考http://www.cnblogs.com/lixuwu/p/6097102.html

这里我把两个软件都下载下来进行练习

技术分享

1.3 JDK安装环境

操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,FileZila,jdk-7u80-linux-x64.tar.gz

2 安装JDK

通过上面准备工作之后,我们现在已经拥有了可以安装JDK的环境。

2.1 创建用户目录

然后在Xshell中使用命令跳转到用户指定的文件夹下面(项目中通常每个项目都有自己单独的JDK配置):project
技术分享

在使用非root用户登录时候,按照如下步骤操作:

#首先切换到root权限su#创建目录mkdir projectllcd project/

 技术分享

2.2 上传JDK文件到指定目录

然后使用FileZila将jdk复制到project文件夹下面,如图所示:
技术分享

下图是解压后的目录列表,上传的文件是已经标注。

技术分享

2.3 解压JDK

直接在用JDK文件所在目录解压缩文件

tar -zxv -f  jdk-7u80-linux-x64.tar.gz

技术分享

查看JDK文件内容:

技术分享

通过上面的步骤,我们的jdk已经全部完成安装了,接下来就是更重要的一步:配置环境变量

2.4 配置环境变量

1、先执行

vim /etc/profile

在JDK所在目录下,查找JDK的根目录

pwd

技术分享

JDK的绝对路径在配置文件中会用到。

2、 打开之后按键盘(i)进入编辑模式,将下面的内容复制到底部

JAVA_HOME=/home/cs408/project/jdk1.7.0_80             PATH=$JAVA_HOME/bin:$PATH             CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar             export PATH JAVA_HOME CLASSPATH
技术分享
备注:根据上面的配置信息,我们已经将环境变量的配置完成。
需要注意的是,PATH在配置的哦时候,一定要把AVA_HOME/bin放在最前面,不然使用java命令式,系统会找到以前的JAVA,在不往下找了,这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。
4、写完之后我们按键盘(ESC)按钮退出,然后按(:wq)保存并且关闭Vim。
5、配置完成之后,最重要的一步就是使文件立即生效
source /etc/profile

 3 验证是否成功

java -versionecho $JAVA_HOME

技术分享

4 卸载JDK

 首先执行命令查看服务器下的jdk的版本:
rpm -qa|grep jdk 

 技术分享

然后执行命令,将上面查询出来的每个版本以此删掉即可。

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

5 补充

OpenJDK和JDK之间的区别联系

历史上的原因是,OpenJDK是JDK的开放原始码版本,以GPL(General Public License)协议的形式放出(题主提到的open就是指的开源)。在JDK7的时候,OpenJDK已经作为JDK7的主干开发,SUN JDK7是在OpenJDK7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。至于OpenJDK6则更是有其复杂的一面,首先是OpenJDK6是JDK7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。关于JDK和OpenJDK的区别,可以归纳为以下几点:

授权协议的不同:OpenJDK采用GPL V2协议放出,而SUN 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代替。


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

不能使用Java商标:这个很容易理解,在安装OpenJDK的机器上,输入“java-version”显示的是OpenJDK,但是如果是使用Icedtea补丁的OpenJDK,显示的是java。


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

  
 

(转)Linux(Centos)之安装Java JDK及注意事项