FROM:http://josh-persistence.iteye.com/blog/1908549

一、查看Jdk的安装路径:

whereis java
which java (java执行路径)
echo $JAVA_HOME

echo $PATH

备注:如果是windows中,可以使用:

set java_home:查看JDK安装路径
java -version:查看JDK版本

二、卸载旧版本的JDK:

1. 确定JDK的版本:

rpm -qa | grep jdk

rpm -qa | grep gcj

可能的结果是:

libgcj-4.1.2-42.el5 
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

2.然后卸载

yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

如果这中方法不行,可以使用如下的方法卸载:

1)卸载系统自带的jdk版本: 
   查看自带的jdk: 
   #rpm -qa|grep gcj 
   可能看到如下类似的信息: 
   libgcj-4.1.2-44.el5 
   java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 
   使用rpm -e --nodeps 命令删除上面查找的内容: 
   #rpm -e –nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

2)卸载rpm安装的jkd版本 
   查看安装的jdk: 
   #rpm -qa|grep jdk 
   可能看到如下类似的信息: 
   jdk-1.6.0_22-fcs 
   卸载: 
   #rpm -e --nodeps jdk-1.6.0_22-fcs

3)找到jdk安装目录的_uninst子目录

·在shell终端执行命令./uninstall.sh即可卸载jdk

三、下载新版本的JDK

官方地址: http://www.oracle.com/technetwork/java/javase/downloads/index.htm

四、安装JDK(以JDK1.6为例子)

1、jdk1.6提供以下两种自解压文件: 
   1)jdk-6u22-linux-i586.bin 
   2)jdk-6u22-linux-i586-rpm.bin 
2、我下载的是jdk-6u22-linux-i586-rpm.bin 
3、给所有用户添加可执行的权限 
   #chmod +x jdk-6u22-linux-i586-rpm.bin 
4、执行该文件,命令如下: 
   #./jdk-6u22-linux-i586-rpm.bin 
   执行后会解压出一些rpm软件包,其中有jdk-6u22-linux-i586.rpm这是主程式包,接下来就是安装这个主程序包。 
5.、切换到root用户,进入jdk-6u22-linux-i586.rpm存放的目录,执行如下命令: 
    rpm -ivh jdk-6u22-linux-i586.rpm 
   安装软件会将JDK自动安装到 /usr/java/jdk-1.6.0_22-fcs目录下

在linux上安装时,常常会碰到如下的Fail:

RPM should not be used directly install RPM packages, use Alien instead!

这时用这个命令即可:

 rpm -ivh jdk-6u22-linux-i586.rpm --nodeps --force

五、配置环境变量:

如果所有用户都想共享jdk的环境变量,可以通过如下方式设置。

(但建议最好不要这样,万一有其他用户使用其他JDK就会受到影响。) 
    在/etc/profile文件中加入: 
  # vi /etc/profile    
  export JAVA_HOME=/usr/java/jdk-1.6.0_22-fcs 
  export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
  export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

 注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。 
  记得CLASSPATH路径中加入$CLASSPATH:不然可能在解释执行class文件时会报错。

当然也可以用更加彻底的方法:reboot命令来重启机器。

有时你可能会发现/etc/profile中配置的环境变量在系统重新启动或者重新使用SSH连接后失效了,其原因有可能是

1. 某个非root用户下环境变量是生效的,但是切换到root用户后,使用javac等命令失效。

2.写入到/etc/profile的环境变量在重新启动后会自动生效。未重新启动之前每次打开终端都需如你所述执行source命令。

附: 怎样安装tar类型的JDK:

首先将*.tar.gz解压

tar -xzvf *.tar.gz

假设得到的文件夹为java

将其移动到/usr/中

sudo mv java /usr/local

然后设置环境变量:

sudo vim /etc/profile

打开文件

在结尾处输入:

export JAVA_HOME=/usr/local/java
export JRE_HOME=/usr/local/java/jre 
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

Ubuntu 中修改默认jdk

update-alternatives --install /usr/bin/java java /usr/localjava/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/local/java/bin/javac 300

通过这一步将我们安装的jdk加入java选单。

update-alternatives --config java

选择默认的jdk

java -version

同样地,如果需要立即生效profile文件,需要执行source /etc/profile命令。  

[转载]Linux 卸载JDK并安装新版本JDK (rpm,tar)的更多相关文章

  1. linux卸载openJDK并安装sun jdk

    linux下卸载openJDK并安装java 1.查找现在有的jdk rpm -qa | grep java 2.删除jdk rpm -e --nodeps java----- 3.安装jdk 下载j ...

  2. Centos7 linux 卸载自带安装的jdk 并yum自动安装jdk1.8

    一:卸载系统自带安装的JDK 注:本文参考了< 使用CentOS7卸载自带jdk安装自己的JDK1.8> 通过xshell工具成功连接安装好的虚拟机之后可通过    rpm -qa | g ...

  3. CentOS6.5卸载openJDK和安装Sun JDK

    CentOS6.5卸载openJDK和安装Sun JDK 最近业务需要,新安装了CentOS6.5系统,在配置tomcat的时候,总是报错找不到jdk中的java.研究了半天,发现应该是openJDK ...

  4. linux下查看已经安装的jdk 并卸载jdk

    一.查看Jdk的安装路径: whereis javawhich java (java执行路径)echo $JAVA_HOME echo $PATH 备注:如果是windows中,可以使用: set j ...

  5. CentOS卸载OpenJDK并安装Sun JDK

    第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java versi ...

  6. Linux卸载系统自带的JDK

    安装Linux后,一般系统都会自带openjdk,我们开发中都需要自己安装,所以需要卸载之前的,以CentOS为例,卸载方法如下: 首先执行命令查看存在哪些已安装的包 rpm -qa | grep j ...

  7. Linux下Jdk的安装和jdk环境变量的设置

    我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...

  8. linux 系统下配置安装 java jdk 图文流程

    先查看一下系统版本,本例采用的操作系统是CentOS 6.5: 如果你是初装之后的操作系统,那么有可能wget这个组件是不存在的,所以你要安装一下它,这样才可以让你从网上down下你要的安装包: 上面 ...

  9. [转载]linux+nginx+python+mysql安装文档

    原文地址:linux+nginx+python+mysql安装文档作者:oracletom # 开发包(如果centos没有安装数据库服务,那么要安装下面的mysql开发包) MySQL-devel- ...

随机推荐

  1. 动态规划DP的斜率优化 个人浅解 附HDU 3669 Cross the Wall

    首先要感谢叉姐的指导Orz 这一类问题的DP方程都有如下形式 dp[i] = w(i) + max/min(a(i)*b(j) + c(j)) ( 0 <= j < i ) 其中,b, c ...

  2. Codeforces Round #527 (Div. 3) ABCDEF题解

    Codeforces Round #527 (Div. 3) 题解 题目总链接:https://codeforces.com/contest/1092 A. Uniform String 题意: 输入 ...

  3. DP———7.导弹拦截(emmm冷静分析一波也不叫DP吧,不过有一种DP的方法写)

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  4. MySQL基本管理和应用

    # yum install mysql-server # /etc/init.d/mysqld startInitializing MySQL database: Installing MySQL s ...

  5. Java并发(2)- 聊聊happens-before

    引言 上一篇文章聊到了Java内存模型,在其中我们说JMM是建立在happens-before(先行发生)原则之上的. 为什么这么说呢?因为在Java程序的执行过程中,编译器和处理器对我们所写的代码进 ...

  6. yii 用户登录验证(cwebuser) yii 用户登录 (记)

    yii 的确是一个强大而臃肿的框架,简单的小项目,或者只做后台接口调用的项目,建议不要用. 今天记录一下yii使用中cwebuser(Yii::app()->user->login())登 ...

  7. 战斗机的祈雨仪式(NOIP模拟赛Round 7)

    [问题描述] 炎炎夏日,如果没有一场大雨怎么才能尽兴?秋之国的人民准备了一场祈雨仪式.战斗机由于拥有操纵雷电的能力,所以也加入了其中,为此,她进行了一番准备. 战斗机需要给自己的Spear of Lo ...

  8. Andriod布局

    布局[ViewGroup]   像素单位的变化:是用dip,而不是px,主要用于宽高的设置 在Android中支持的描述大小区域的类型有以下几种. px(pixels)——像素:不同的设备显示效果相同 ...

  9. kvm虚拟机最佳实践系列2-创建KVM及KVM优化

    创建KVM及KVM优化 把KVM优化与KVM创建放在一起,是因为我们创建的KVM是要用在生产环境中,所以基础优化工作是必备的. 创建KVM 创建系统盘, 大小: 操作系统通常都不到10G,所以系统盘2 ...

  10. entitymanager 进行数据序列化

    场景:同一个方法里,需要将前一部分执行的数据保存到数据库.后半部分读取数据时从数据库里获取,而不是获取到缓存里的数据. 理解eneityManager的这三个方法的作用和区别,首先需要分清楚Persi ...