CentOS 6.3自带OPEN JDK,但出于开发考虑,我们还是选择来Sun 公司出品但Jdk1.7.关于OpenJdk和Sun出品但差别我也没深究。
首先先确定本机安装:
[root@Slave3 java]# java -versionjava version "1.6.0_24"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
从官网下载适用于Linux版本但jdk,此处选择.rpm包(我安装的:jdk-7u17-linux-x64.rpm)。
1.查看是否有安装包
rpm -qa | grep jdk
如果有结果,证明安装前已有JDK,那就要删除。
命令格式为: rpm -e --nodeps jdk-1.7.0_17-fcs.x86_64(列表项里里复制过来)
但是这样可能会提示你有些组件需要依赖,如果删除会把依赖包也删除。网上其他教程说为了防止这样,先不要删除,先安装新的,然后再删除此版本。但是我在实际操作中并没有实现。
2.给安装包 添加 执行 权限(放在/usr/java/ 目录下,执行命令):
chmod +x jdk-7u17-linux-x64.rpm(安装包文件名)3.安装
rpm -ivh jdk-7u17-linux-x64.rpm(安装包文件名)
安装但时候可能会报错,但是目前迹象表明不影响使用。
4.配置环境变量
使用vi 命令修改/etc/profile ,在此文件中最后添加如下(Tomcat环境变量可以不用在此时设置):
#set java environmentexport JAVA_HOME=/usr/java/jdk1.7.0_17export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.export PATH=$PATH:$JAVA_HOME/binexport TOMCAT_HOME=/usr/tomcat
5.生效配置
source /etc/profile
出现问题及解决:
java -version 和 javac -version 版本不一致,出现这样的问题可能是我的linux系统上之前就有一个java版本,解决方法:
[root@localhost usr]# $JAVA_HOME/bin/java -versionbash: /bin/java: 没有那个文件或目录[root@localhost java]# . /etc/profile[root@localhost java]# . /etc/profile[root@localhost java]# $JAVA_HOME/bin/java -versionjava version "1.6.0_20"Java(TM) SE Runtime Environment (build 1.6.0_20-b02)Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)[root@localhost java]# which java //俺日他奶奶,就是这个地方,擦!用的是/usr/bin/下面的java,肥脸是对的。/usr/bin/java[root@localhost java]# mv /usr/bin/java /usr/bin/java-1.6.0_0[root@localhost java]# ln -s $JAVA_HOME/bin/java /usr/bin/java[root@localhost java]#[root@localhost java]# java -versionjava version "1.6.0_20"Java(TM) SE Runtime Environment (build 1.6.0_20-b02)Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)[root@localhost java]#[root@localhost java]# javac -versionjavac 1.6.0_20以上操作转自:
操作思路是:
(1)重命名或者移动 /usr/bin/java为/usr/bin/java-1.6.。。。
(2)设置软链接