HI END


一种永不妥协,追求极致与完美的精神与态度。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CentOS6.2卸载系统自带 openjdk安装sun jdk(转)

Posted on 2013-02-04 08:40  HI END  阅读(339)  评论(0编辑  收藏  举报

来源:http://blog.csdn.net/dengsilinming/article/details/7657342

1、卸载openjdk
查看目前系統的jdk: rpm -qa | grep jdk(我这里找到的是:java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686),如果找不到可以用rpm -qa | grep gcj

移出系统自带的jdk: yum -y remove java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686

2、安装sun jdk
由于我下载的是jdk-7-linux-i586.tar.gz所以可以直接在安装目录解压它就行了,
进入/usr,执行tar -zxvf  jdk-7-linux-i586.tar.gz ,解压完后能够看到/usr目录下多了一个名为jdk1.7.0的文件夹。
3、配置环境
vi /etc/profile打开profile文件,在profile文件的末尾加上

  1. JAVA_HOME=/usr/jdk1.7.0  
  2. PATH=$JAVA_HOME/bin:$PATH  
  3. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  4. export JAVA_HOME  
  5. export PATH  
  6. export CLASSPATH  
JAVA_HOME=/usr/jdk1.7.0
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

保存并关闭profile文件,执行source /etc/profile命令让修改生效(不执行这个命令直接重新启动系统也可以)
这样jdk就安装成功了。
测试一下是否安装成功:执行java -version,得到如下结果说明安装成功

  1. [root@localhost ~]# java -version  
  2. java version "1.7.0"  
  3. Java(TM) SE Runtime Environment (build 1.7.0-b147)  
  4. Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)  
[root@localhost ~]# java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)

如果在执行/etc/profile时出现-bash : [root command not found错误请打开/etc/profile文件找到类似于以下部分的地方(以下提供的信息是我在安装oracle数据库时增加的,错误就出在这一块):

  1. if [$USER = 'oracle']; then  
  2.         if [$SHELL = '/bin/ksh']; then  
  3.                 ulimit -p 16384  
  4.                 ulimit -n 65536  
  5.         else  
  6.                 ulimit -u 16384 -n 65536  
  7.         fi  
  8. fi  
if [$USER = 'oracle']; then
        if [$SHELL = '/bin/ksh']; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi

将上面的内容修改为:

  1. if [ $USER = 'oracle' ]; then  
  2.         if [ $SHELL = '/bin/ksh' ]; then  
  3.                 ulimit -p 16384  
  4.                 ulimit -n 65536  
  5.         else  
  6.                 ulimit -u 16384 -n 65536  
  7.         fi  
  8. fi  
if [ $USER = 'oracle' ]; then
        if [ $SHELL = '/bin/ksh' ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi

出错原因分析:其实[和$USER之间需要空格来分离的,连在一起就成了一个变量[root之类的,给转义了。因此加了空格后再source /etc/profile就正常了。