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,如图所示:

CentOS6.2卸载系统自带 openjdk安装sun jdk_java

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


保存并关闭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)


如果在执行/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


将上面的内容修改为:


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


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