1.下载jdk1.7

百度云链接: https://pan.baidu.com/s/15vXLO2eV18eVvmt-R5jGnQ 密码: 1gd6

2.解压压缩包

通过终端在/usr/local下新建java文件夹,

[root@localhost ~]# mkdir/usr/local/java

[root@localhost ~]# cd /usr/local/java

(不通过终端直接新建也可以)

将jdk压缩包放进java文件夹下,然后进行解压,

[root@localhost java]# tar -zxvf jdk7u79linuxx64.tar.gz

3.配置jdk环境

[root@localhost java]# vi /etc/profile

打开之后在末尾添加

JAVA_HOME=/usr/local/java/jdk1.7.0_79
JRE_HOME=/usr/local/java/jdk1.7.0_79/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

修改之后按Esc,再输入:wq保存

让修改生效:[root@localhost java]# source /etc/profile

此时jdk已经算是配置好了,

注意:

  • 在linux系统中,由于涉及到版权问题,在大部分linux系统的发行版本中,默认都安装了OpenJDK,并且OpenJDK的java命令也已经加入到环境变量中了。在刚装好的linux系统中,运行java-version,输出如下(根据JDK版本不同,输出的版本可能不同):javaversion"1.7.0_131"OpenJDKRuntimeEnvironment(rhel-2.6.9.0.el6_8-x86_64u131-b00)但在进行java开发时,

    • 在linux系统中,由于涉及到版权问题,在大部分linux系统的发行版本中,默认都安装了OpenJDK,并且OpenJDK的java命令也已经加入到环境变量中了。

      在刚装好的linux系统中,运行java -version,输出如下(根据JDK版本不同,输出的版本可能不同):

      java version "1.7.0_131"
      OpenJDK Runtime Environment (rhel-2.6.9.0.el6_8-x86_64 u131-b00)

      但在进行java开发时,我们大多是需要使用Sun(准确的说应该是Oracle)的JDK,所以我们会去Oracle官网下载相应版本的JDK进行安装。

      如何在linux上安装,在此不在赘述。

      在linux上安装完JDK后,我们会在~/.bash_profile 把安装的java加入到环境变量中。原以为就万事大吉了,在运行java程序时会使用自己安装的JDK。

    • 如果你是这么想的就大错特错了,在文章开头讲的,由于linux系统的发行版中默认安装的时OpenJDK,尽管我们把安装的SunJDK的java命令也加入到环境变量中,但是我们运行

      java -version,输出确还是和之前一样:

      java version "1.7.0_131"
      OpenJDK Runtime Environment (rhel-2.6.9.0.el6_8-x86_64 u131-b00)

      这要这么破!!!

    • 一、查找原因

      不急,先运行

      whereis java,输出如下:
      java: /usr/bin/java /etc/java /usr/lib/java /usr/lib64/java /usr/share/java /usr/local/java

      在几个地方有java命令,其中/usr/local/java是我自己安装的SunJDK的java命令所在的目录,而/usr/bin/java是系统中默认安装的java命令所在的目录。

      原因就在这,

      我们执行

      ls -la /usr/bin/java,输入如下:

      lrwxrwxrwx 1 root root 22 May 14 16:53 /usr/bin/java -> /etc/alternatives/java

      一看这是一个软连接,我们cd到/etc/alternatives目录下看个究竟,

      然后执行 ls -la,输入比较多,而且很多软链,其中有一个

      lrwxrwxrwx  1 root root   46 May 14 18:22 java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

      到此,应该明白了,java命令其实指向的是OpenJDK中的java命令,所以才会出现我们把自己安装的SunJDK的java命令配置到环境变量中后,依然不起作用。

      所以我们要做的就是需要把java的软链指向我们自己安装的SunJDK的java命令,也即/usr/local/java。

      二、使用安装的JDK替代系统默认的OpenJDK

      linux中提供了update-alternatives命令,update-alternatives是linux系统(大部分linux系统都支持此命令)中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,而所有的这些就构成了备选方案系统(alternatives system)。

      很多时候我们会将拥有相同或相似功能的不同应用程序安装在同一个操作系统上,例如同一个操作系统上的不同文本编辑器。这给了这个系统的用户在编辑文本时有了更多的选择,如果用户愿意他们可以自由选择任意一个来使用。

      其实update-alternatives命令的功能很好理解,举个例子:在Window系统中,如果我们安装多个浏览器,比如有火狐、有IE、有360、有Chrome等,当我们从某个链接进去打开网页时,可能会问你使用哪个浏览器,当你选择某个浏览器时,此浏览器会问你是否把它作为默认浏览器,如果你选择了是,那下次点开某个链接时,就直接使用默认浏览器打开了!

      现在我们在系统中同时安装了open jdk和sun jdk两个版本,(由于linux发行版本中默认使用OpenJDK的java命令)而我们又希望系统默认使用的是sun jdk,那怎么办呢?通过update-alternatives就可以很方便的实现了。

      首先运行以下命令查看java当前的默认配置

      update-alternatives --display java,输出如下(后面有省略):
      java - status is manual.
       link currently points to /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
      /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java - priority 170131
       slave keytool: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/keytool
       slave orbd: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/orbd
      ......

      可以从输出中看到系统中java默认使用的OpenJDK,其中数字170131表示优先级。

      2.1 下面进入正式配置阶段

      1. 把自己安装的SunJDK加入到备选系统中

      运行命令(注意命令最后的数字表示优先级,其中170130 为SunJDK的alternative的优先级)

      update-alternatives  --install /usr/bin/java java /usr/local/java 170130

      2. 选择自己安装的SunJDK作为首选java命令

      运行命令

      update-alternatives --config java,输出如下

      There are 2 programs which provide 'java'.

        Selection    Command
      -----------------------------------------------
      *+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
         2           /usr/local/java

      Enter to keep the current selection[+], or type selection number:

      config命令是交互式的命令,可以根据提示进行选择,此处我们选择2,即使用安装的SunJDK的java命令,然后按回车键!

      至此,配置完成了!

      说明:在配置步骤1中,我们指定SunJDK的优先级是170130(比当前优先级170131低),所以需要进行步骤二进行手动选择;如果我们指定的优先级比当前优先级170131高,则步骤二可以省略,系统自动会选择优先级高的作为默认alternative!

centOs6.5配置jdk及其注意事项的更多相关文章

  1. Centos6.8配置JDK

    下载jdk-版本号.tar.gz 解压到/usr/local/ vi /etc/profile 最后一行添加如下内容: export JAVA_HOME=/usr/local/jdk-版本号expor ...

  2. Linux下安装和配置JDK与Tomcat(入门版)

    JDK路径:/usr/java/jdk1.6.0_25 Tomcat路径:/usr/local/apache-tomcat 1. 下载jdk6.0(选择“.rpm.bin”结尾的,6u25版本) ht ...

  3. Centos6.7配置Nginx+Tomcat简单整合

    系统环境:Centos 6.7 软件环境:JDK-1.8.0_65.Nginx-1.10.3.Tomcat-8.5.8 文档环境:/opt/app/ 存放软件目录,至于mkdir创建文件就不用再说了 ...

  4. eclipse 配置JDK

    JDK安装成功,eclipse也安装成功,这时候实际上是可以不配置JDK,因为系统已经默认给你配置好了,但是下面的情况需要配置:1.你系统中安装了多个JDK,某个项目工程需要更高版本的JDK等 工具/ ...

  5. RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console

    RocketMQ的安装配置 演示虚拟机环境:Centos64-1 (D:\linuxMore\centos6_64) root / itcast : 固定IP 192.168.52.128 一,配置J ...

  6. Linux CentOS 配置JDK环境

    一.下载JDK 下载JDK的方式有两种: 1.Linux中使用wget下载 1.使用命令安装wget yum install wget 2.下载 wget 'http://download.oracl ...

  7. 在Linux虚拟机下配置jdk的环境变量

    1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  8. Linux虚拟机中配置JDK环境变量

    前提准备: 1,安装好Linux系统 2,下载好可以将文件传输到Linux系统工具例如:WinSCP 3,在windows中下载Linux版JDK: http://download.oracle.co ...

  9. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

随机推荐

  1. python 全栈开发,Day3(正式)

    一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余  + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...

  2. [Oracle]UNIX与Windows 2000上Oracle的差异(I)

    作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net翻译:Fenng ---------- ...

  3. Java读取properties文件连接数据库

    先说为什么要有这种东西,或者我们为什么要用这种方式来写,先看经常用的方法,我们经常写的 package util; import java.sql.Connection; import java.sq ...

  4. JavaIO

    1.字节流和字符流 在IO有两种数据传输格式一个是字符流还一个是字节流,但是字符流就会涉及到编码的问题. 一开始美国使用的自己的编码表就是ASCII表 中国的字符需要被识别也需要编码表于是就有了GB2 ...

  5. npm包使用语义化版本号

    npm 采用语义版本管理软件包.所谓语义版本,就是指版本号为a.b.c的形式,其中a是大版本号,b是小版本号,c是补丁号. 一个软件发布的时候,默认就是1.0.0版.如果以后发布补丁,就增加最后一位数 ...

  6. Spark核心技术原理透视一(Spark运行原理)

    在大数据领域,只有深挖数据科学领域,走在学术前沿,才能在底层算法和模型方面走在前面,从而占据领先地位. Spark的这种学术基因,使得它从一开始就在大数据领域建立了一定优势.无论是性能,还是方案的统一 ...

  7. MIP (百度移动网页加速器)

    前言:第一次用移动网页加速器,感觉好心情都被弄坏了.确实性能提高了不少,但是限制js,对于一些交互实现都成问题.MIP是Mobile Instant Pages的缩写,指百度移动网页加速器, 是一套应 ...

  8. ansible之二:模块用法

    一:ansible远程执行命令 [root@ansible ~]# ansible test -m shell -a "date" >> 2016年 08月 02日 星 ...

  9. Git忽略规则.gitignore梳理

    对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来就来说说这个.gitignore的使用. 首先要强调一点,这个文件的完整文件名就是".gitignor ...

  10. python全栈学习--day1

      计算机基础 CPU:中央处理器 内存:4GB,8GB,临时处理事务的地方,供给CPU数据. 硬盘:相当于电脑的数据库,存储着大量的数据,文件,电影等. 操作系统:执行者,支配所有关系 window ...