一、查看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

linux下查看已经安装的jdk 并卸载jdk的更多相关文章

  1. linux下查看已安装的软件与卸载

    转自:https://blog.csdn.net/qq_22075041/article/details/78855849 因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否 ...

  2. (转)linux下查看已安装的软件与卸载

    因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了.总结起来就是这样几类: 1.rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa ...

  3. Linux下查看Python安装了哪些脚本模块

    Linux下查看Python安装了哪些脚本模块 1.什么是rpm ? rpm 即RedHat Package Management,是RedHat的发明之一 .现在包括OpenLinux.fedora ...

  4. windows和linux下查看java安装路径

    windows下查看版本:(默认安装路径安装就不需要去配环境变量了) java -version windows下查看安装路径: java -verbose Linux下安装版本查看方式和window ...

  5. Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  6. Linux下查看Nginx安装目录、版本号信息及当前运行的配置文件

    Linux环境下,怎么确定Nginx的安装路径 输入命令行: ps -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是的 /data/software ...

  7. Linux下查看nginx安装目录

    输入命令行: ps  -ef | grep nginx master process后边的目录即是.

  8. linux下cmake编译安装、配置和卸载mysql

    WIN10下虚拟机:VMware workstation 12 PRO 安装 # 1.查看系统版本 [root@vm-xiluhua][/home/xiluhua]$ cat /etc/redhat- ...

  9. linux下rpm包安装、配置和卸载mysql

    WIN10下虚拟机:VMware workstation 12 PRO 安装 # 1.查看系统版本 [root@vm-xiluhua][/home/xiluhua]$ cat /etc/redhat- ...

随机推荐

  1. python 列表 字典 读写文件:pickle模块的基本使用

    python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保 ...

  2. iOS开发——OC篇&纯代码退出键盘

    关于iOS开发中键盘的退出,其实方法有很多中,而且笔者也也学会了不少,包括各种非纯代码界面的退出. 但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 ...

  3. 杂谈之不同行业的Solr

    杂谈之不同行业的Solr 前几天去一家互联网创业公司面试搜索引擎开发工程师,结果被pass了,仍不住想来吐槽下.尽管当时面试没啥准备,也没表现好,但是也学到了不少东西.现在就随便吐槽一下吧. 本人是在 ...

  4. 转:ElasticSearch 插件安装

    原文来自于:http://www.07net01.com/linux/Elasticsearch_chajiananzhuang_21257_1350993328.html 进入elasticsear ...

  5. BZOJ1660: [Usaco2006 Nov]Bad Hair Day 乱发节

    1660: [Usaco2006 Nov]Bad Hair Day 乱发节 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 606  Solved: 289 ...

  6. jQuery deferred学习笔记

    简介 在jQuery1.5.0版本引入,为了实现Deferred对象,jQuery改写了ajax.是由jQuery.Deferred()方法创建的链式对象. $.Deferred在jQuery代码自身 ...

  7. java容器类总结

    1.java容器分类图 说明:左图为简化图(其中粗线部分是重点的容器),右图为完整容器分类图                          2.容器类接口和抽象容器类 2.1 说明 容器接口是容器 ...

  8. 实Schur分解

        前面已经说过LU,Cholesky和QR分解,这次介绍的是实Schur分解.对这个分解的定义是任意一个矩阵A,可有如下形式的分解:               U*A*U' = B;其中B是拟 ...

  9. 【树形动态规划】【CTSC1997】选课 解题报告

    CTSC1997-选课 描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这 ...

  10. 建议别买三星Gear:半电脑产品 设计糟糕

    不久之前,三星刚刚发布了智能腕表Galaxy Gear,据<纽约时报>周三报道,尽管三星电子的智能手表Galax Gear集各种酷炫新功能于一身,但对消费者来说,却是个差劲的选择. < ...