[转载]Linux 卸载JDK并安装新版本JDK (rpm,tar)
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)的更多相关文章
- linux卸载openJDK并安装sun jdk
linux下卸载openJDK并安装java 1.查找现在有的jdk rpm -qa | grep java 2.删除jdk rpm -e --nodeps java----- 3.安装jdk 下载j ...
- Centos7 linux 卸载自带安装的jdk 并yum自动安装jdk1.8
一:卸载系统自带安装的JDK 注:本文参考了< 使用CentOS7卸载自带jdk安装自己的JDK1.8> 通过xshell工具成功连接安装好的虚拟机之后可通过 rpm -qa | g ...
- CentOS6.5卸载openJDK和安装Sun JDK
CentOS6.5卸载openJDK和安装Sun JDK 最近业务需要,新安装了CentOS6.5系统,在配置tomcat的时候,总是报错找不到jdk中的java.研究了半天,发现应该是openJDK ...
- linux下查看已经安装的jdk 并卸载jdk
一.查看Jdk的安装路径: whereis javawhich java (java执行路径)echo $JAVA_HOME echo $PATH 备注:如果是windows中,可以使用: set j ...
- CentOS卸载OpenJDK并安装Sun JDK
第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java versi ...
- Linux卸载系统自带的JDK
安装Linux后,一般系统都会自带openjdk,我们开发中都需要自己安装,所以需要卸载之前的,以CentOS为例,卸载方法如下: 首先执行命令查看存在哪些已安装的包 rpm -qa | grep j ...
- Linux下Jdk的安装和jdk环境变量的设置
我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...
- linux 系统下配置安装 java jdk 图文流程
先查看一下系统版本,本例采用的操作系统是CentOS 6.5: 如果你是初装之后的操作系统,那么有可能wget这个组件是不存在的,所以你要安装一下它,这样才可以让你从网上down下你要的安装包: 上面 ...
- [转载]linux+nginx+python+mysql安装文档
原文地址:linux+nginx+python+mysql安装文档作者:oracletom # 开发包(如果centos没有安装数据库服务,那么要安装下面的mysql开发包) MySQL-devel- ...
随机推荐
- BZOJ4826 [Hnoi2017]影魔 【线段树 + 单调栈】
题目链接 BZOJ4826 题解 蒟蒻智力水平捉急orz 我们会发现相邻的\(i\)和\(j\)贡献一定是\(p1\),可以很快算出来[然而我一开始忘了考虑调了半天] 我们现在只考虑不相邻的 我们只需 ...
- JavaScript jQuery 中定义数组与操作及jquery数组操作 http://www.jb51.net/article/76601.htm
首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...
- 论文笔记《Hand Gesture Recognition with 3D Convolutional Neural Networks》
一.概述 Nvidia提出的一种基于3DCNN的动态手势识别的方法,主要亮点是提出了一个novel的data augmentation的方法,以及LRN和HRn两个CNN网络结合的方式. 3D的CNN ...
- String中的“equal方法”和“==”
二话不说,先来说下重写的事情: 在Java中,String .Math.还有Integer.Double....等这些封装类重写了Object中的equals()方法,让它不再比较其对象在内存中的地址 ...
- java8 获取对象中满足条件的金额之和
记录一个小笔记:获取一个对象中,支付成功的金额之和: Long sum = list.stream().filter(o -> o.getStatus() == SUCCESS).mapToLo ...
- gvim设置使用
最近有一款编辑器叫sublimeText 2比较流行,我也下载用了一下,确实很好看,自动完成,缩进功能什么的也比较齐全,插件也十分丰富.但用起来不是很顺手,最后还是回到了Gvim(Vim的GUI版本, ...
- HDU RPG的错排 【错排&&组合】
RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- [bzoj1051][HAOI2006]受欢迎的牛——强连通分量
题目大意: 给定一个有向图,求能够被其他所有点访问到的点的个数. 题解: 首先,这个题我在洛谷上AC了,但是bzoj上WA,不知道为什么. 说一下解法. 首先,我们进行scc分解,可以知道, 如果一个 ...
- Python学习杂记_15_正则表达式
正则表达式 正则表达式就是用来查找字符串的,它能够查找规则比较复杂的字符串.使用正则表达式首先要导入re模块import re s = "besttest is good!besttest ...
- flask框架基本使用(2)(响应与重定向)
#转载请留言联系 flask 框架基本使用(1):https://www.cnblogs.com/chichung/p/9756935.html 1. flask 自定义返回状态码与响应头 from ...