完全转载自:https://my.oschina.net/andyfeng/blog/601291
这里完整粘贴一份留存
卸载centos自带的jdk
1.查看当前的jdk版本,并卸载
[root@localhost opt]# rpm -qa|grep java
java-1.6.0-openjdk-1.6.0.37-1.13.9.4.el5_11
tzdata-java-2015g-1.el5
//卸载
[root@localhost opt]# rpm -e --allmatches --nodeps java-1.6.0-openjdk-1.6.0.37-1.13.9.4.el5_11
[root@localhost opt]# rpm -e --allmatches --nodeps tzdata-java-2015g-1.el5
yum卸载方法
yum -y remove java-1.8.0*
安装Jdk
1.查找java相关得列表
[root@localhost jre-1.6.0-openjdk.x86_64]# yum -y list java*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirrors.btte.net
* base: centos.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
Installed Packages
java-1.6.0-openjdk.x86_64 1:1.6.0.37-1.13.9.4.el5_11 installed
Available Packages
java-1.4.2-gcj-compat.x86_64 1.4.2.0-40jpp.115 base
java-1.4.2-gcj-compat-devel.i386 1.4.2.0-40jpp.115 base
java-1.4.2-gcj-compat-devel.x86_64 1.4.2.0-40jpp.115 base
java-1.4.2-gcj-compat-javadoc.x86_64 1.4.2.0-40jpp.115 base
java-1.4.2-gcj-compat-src.x86_64 1.4.2.0-40jpp.115 base
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.37-1.13.9.4.el5_11 updates
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.37-1.13.9.4.el5_11 updates
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.37-1.13.9.4.el5_11 updates
java-1.6.0-openjdk-src.x86_64 1:1.6.0.37-1.13.9.4.el5_11 updates
java-1.7.0-openjdk.x86_64 1:1.7.0.91-2.6.2.1.el5_11 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.91-2.6.2.1.el5_11 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.91-2.6.2.1.el5_11 updates
java-1.7.0-openjdk-javadoc.x86_64 1:1.7.0.91-2.6.2.1.el5_11 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.91-2.6.2.1.el5_11 updates
java_cup.x86_64 1:0.10-0.k.6jpp.1 base
java_cup-javadoc.x86_64 1:0.10-0.k.6jpp.1 base
java_cup-manual.x86_64 1:0.10-0.k.6jpp.1 base
javacc.x86_64 4.0-3jpp.3 base
javacc-demo.x86_64 4.0-3jpp.3 base
javacc-manual.x86_64 4.0-3jpp.3 base
或
[root@localhost jre-1.6.0-openjdk.x86_64]# yum search jdk
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirrors.btte.net
* base: centos.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
========================================================== Matched: jdk ==========================================================
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
gnu-crypto-sasl-jdk1.4.x86_64 : Gnu Crypto SASL API
jakarta-commons-beanutils.x86_64 : Jakarta Commons BeanUtils Package
jakarta-commons-collections.x86_64 : Jakarta Commons Collections Package
jakarta-commons-launcher.x86_64 : The Launcher Component is designed to be a cross platform Java application launcher.
ldapjdk.x86_64 : The Mozilla LDAP Java SDK
ldapjdk-javadoc.x86_64 : Javadoc for ldapjdk
mockobjects-alt-jdk1.4.x86_64 : Mockable API for JDK 1.4
mockobjects-jdk1.4.x86_64 : MockObjects for 1.4 JDK
2.安装jdk
[root@localhost ~]# yum install java-1.6.0-openjdk.x86_64
……
Total download size: 44 M
Is this ok [y/N]: y
3.安装完成之后,验证
[root@localhost ~]# java -version
java version "1.6.0_37"
OpenJDK Runtime Environment (IcedTea6 1.13.9) (rhel-1.13.9.4.el5_11-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
4.通过yum默认安装的路径为
/usr/lib/jvm
[root@localhost ~]# cd /usr/lib/jvm
[root@localhost jvm]# ll
total 24
drwxr-xr-x 3 root root 4096 Jan 12 20:01 java-1.6.0-openjdk-1.6.0.37.x86_64
lrwxrwxrwx 1 root root 21 Jan 12 20:01 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 Jan 12 20:01 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
lrwxrwxrwx 1 root root 38 Jan 12 20:01 jre-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.37.x86_64/jre
lrwxrwxrwx 1 root root 29 Jan 12 20:01 jre-openjdk -> /etc/alternatives/jre_openjdk
如果机器上同时安装了多个jdk的话,java命令只能指向一个版本的jdk,为了在全局中方便修改jdk版本
/etc/alternatives 的目录下面会有个java链接,指向默认需要执行的版本的jdk的bin/java 命令
[root@localhost jvm]# cd /etc/alternatives
[root@localhost alternatives]# ll
total 204
lrwxrwxrwx 1 root root 46 Jan 12 20:01 java -> /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
而/etc/alternatives/java又会被软连接到/usr/bin/java
[root@localhost alternatives]# cd /usr/bin
[root@localhost bin]# ll |grep java
lrwxrwxrwx 1 root root 22 Jan 12 20:01 java -> /etc/alternatives/java
5.将jdk的安装路径加入到JAVA_HOME
方法一:
[root@localhost bin]# vi /etc/profile
在文件最后加入:
#set java environment
JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
修改/etc/profile之后让其生效
[root@localhost alternatives]# . /etc/profile
注意 . 之后应有一个空格
方法二:
或者是安装上面创建java命令的形式,以方便修改
[root@localhost jvm]# cd /etc/alternatives
[root@localhost alternatives]# ln -s /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/ java_home
创建一个/etc/alternatives/java_home的软连接,将该连接指向到当前Jdk的根目录
然后将改连接的路径加进去
#set java environment
JAVA_HOME=/etc/alternatives/java_home
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
[root@localhost alternatives]# export |grep JAVA_HOME
declare -x JAVA_HOME="/etc/alternatives/java_home"