本文转载自:https://my.oschina.net/lxrm/blog/110638

最近,迷上了java,一时间什么环境变量/虚拟机都猛然袭来,有点不适。环境配置在前,这所自然。平时搞PHP都喜欢自己倒腾环境,自然时因为系统默认版本并不如意罢。java而言,也有类似情节。不过java貌似更好一些,不像php,我好多代码都是5.2的,ubuntu的apt库里提供的都所5.4,不敢乱用,似乎还不习惯新玩意。

言归正传,这篇文章也是得益于google,以及老外的孜孜不倦,拿过来记录之,原帖见此链 。

注意,以下手法请斟酌使用,我仅仅使用了第二种方法中的自动卸载方法卸载,然后重新apt安装的。(OS:ubuntu 12.10)

一、卸载旧有包

大神法一:

1、 移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ):

# apt-get update
# apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
# apt-get -y autoremove

2、清除配置信息

# dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

3、清除java配置及缓存

# bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf

4、手动清除JVMs

# rm -rf /usr/lib/jvm/*

5、清除所有java实体,如果还有,则使用Alternatives命令(Remove Java entries, if there is still any, from thealternatives):

# for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done

6、查找可能存在 Java的路径:

# updatedb
# locate -b '\pack200'

如果上述命令产生了任何类似于这样( /path/to/jre1.6.0_34/bin/pack200)的结果,则 删除 bin对父目录,可以这样做: sudo rm -rf /path/to/jre1.6.0_34

大神法二:

1、卸载之前,先检查Java对安装情况

# update-alternatives --display java

To check the setup before uninstalling Java.

接下来,删除符号链接

2、(替换(version)为你的java具体版本.命令 “java -version”来得到,我的所1.7.0_15,那么你可以用命令 update-alternatives --remove "java" "/usr/lib/jvm/jdk1.7.0_15/bin/java"来删除)

# update-alternatives --remove "java" "/usr/lib/jvm/jdk<version>/bin/java"
# update-alternatives --remove "javac" "/usr/lib/jvm/jdk<version>/bin/javac"
# update-alternatives --remove "javaws" "/usr/lib/jvm/jdk<version>/bin/javaws"

确认这些符号链接(symlinks)是否都删除了

# java -version
# javac -version
# which javaws

后面俩命令必须要慎之又慎,不然可能毁掉你的系统.

# cd /usr/lib/jvm
# sudo rm -rf jdk<version>

然后,

# update-alternatives --config java
# update-alternatives --config javac
# update-alternatives --config javaws

最后,

# vi  /etc/environment

删除JAVA_HOME 这行环境变量。

-----------------分割线---------------------------------

要删除 OpenJDK (如果已安装的话)。首先,检查是安装的哪个 OpenJDK包。

# dpkg --list | grep -i jdk

移除 openjdk包:

# apt-get purge openjdk*

卸载 OpenJDK 相关包:

# apt-get purge icedtea-* openjdk-*

检查所有 OpenJDK包是否都已卸载完毕:

# dpkg --list | grep -i jdk

完毕。

二、安装新java环境

有了上面卸载经验,自然环境搭建经验也有了。
   安装法子,有两种,一种是直接在java官网去下载最新包,我的机器是64位的,所以对应含有amd64字样。
(关于amd64的说法,可以google一下,大约就是amd最先推出64位机,于是乎后来者比如因特尔在推出64位CPU时也沿用了此叫法。)

法一:

下载zip包对方法我就不详述了,google一大把,很多的。无非就是解压,然后指定环境到解压的目录即可。

法二:

1、 apt-get方式安装,其实也简单,如此即可:

#apt-get install openjdk-7-sdk

2、配置环境变量

先找到java环境在哪里

#update-alternatives --display java
----结果如下-------
#update-alternatives --display java
java - 自动模式
 链接目前指向 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - 优先级 1071
  slave java.1.gz:/usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
目前“最佳”的版本为 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

看到了结果,即java环境是在这个路径(/usr/lib/jvm/java-7-openjdk-amd64)之下的,再查看此路径:

#ls -l /usr/lib/jvm/
总用量 8
lrwxrwxrwx 1 root root 24 4月 27 2012
default-java -> java-1.7.0-openjdk-amd64
lrwxrwxrwx 1 root root 24 4月 27 2012 java-1.6.0-openjdk -> java-1.7.0-openjdk-amd64
lrwxrwxrwx 1 root root 20 2月 21 14:22 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
lrwxrwxrwx 1 root root 24 4月 27 2012 java-6-openjdk -> java-1.7.0-openjdk-amd64
drwxr-xr-x 7 root root 4096 2月 27 13:27 java-7-openjdk-amd64 drwxr-xr-x 3 root root 4096 2月 26 16:16 java-7-openjdk-common

默认default-java最终是指向的 java-7-openjdk-amd64,那么就所我们要的JAVA_HOME路径了。 
 设置环境变量

#vi .bashrc
在末尾添加如下几行
###-----java & android path------###
export JAVA_HOME=/usr/lib/jvm/default-java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export ANDROID_SDK_HOME=/home/nil/software/android-sdk-linux
export ANDROID_SDK_TOOLS=/home/nil/software/android-sdk-linux/tools
export PATH=$ANDROID_SDK_HOME:$ANDROID_SDK_TOOLS:$JAVA_HOME/bin:$PATH

至此,android开发环境就好了

 

ubuntu如何完全卸载和安装 Java及android环境?【转】的更多相关文章

  1. 安装java后的环境变量配置

    安装java后的环境变量配置- 自定义安装目录可能会带来一些烦恼,配置环境变量可能很难找对目录,所以倒不如干脆就用默认的安装目录,记住它,安装完java之后去到那个路径把路径复制, 然后进行环境变量配 ...

  2. Linux学习3-yum安装java和Tomcat环境

    前言 linux上安装软件,可以用yum非常方便,不需要下载解压,一个指令就能用yum安装java和tomcat环境. 前面一篇已经实现在阿里云服务器上搭建一个禅道系统的网站,算是小有成就,但并不是每 ...

  3. 购买了一台阿里云ECS后安装Java项目运行环境

    在docker等虚拟化技术大行其道的今天,我原本也想在我买的ECS服务器里全系使用docker技术,只可惜在我尝试后发现我的ECS配置不够高,整个服务器卡到爆炸,无奈只能使用最原始的方式. 我买的服务 ...

  4. JAVA、JDK等入门概念,下载安装JAVA并配置环境变量

    一.概念 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具体介绍可查阅百度JAVA百科,这里不再赘述. Java分为三个体系,分别为: Java SE(J2SE,Java2 Platf ...

  5. Debian 9安装java与设置环境变量

    安装默认JRE / JDK 先更新软件包索引: apt update 检查是否已安装Java: java -version 如果当前未安装Java,您将看到以下输出: Output-bash: jav ...

  6. 在centos 6.3系统下安装java、tomcat环境的方法与步骤(方法经过验证,可安装成功)

    一.安装java1. 下载java二进制安装包 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http ...

  7. Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)

    1.如果是自带的openjdk运行下面可以删除: sudo apt-get purge openjdk* 但是这种情况又不一定成功,有时候运行java -version发现还是可以运行的.证明删除不成 ...

  8. Ubuntu下彻底卸载默认安装的mysql,自己手动下载安装MYSQL

    彻底卸载: sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-common sudo rm -rf ...

  9. 卸载openjdk安装java后,netbeans启动不了

    Cannot find java. Please use the --jdkhome switch. 默认的jdkhome不存在了,所以重新指定一下就可以了. 修改 /netbeans-8.0/etc ...

随机推荐

  1. html——细线表格

    细线: 1.table表格设置背景色 2.table中设置单元格距离 3.tr标签设置另外一种背景色 <!DOCTYPE html> <html> <head lang= ...

  2. 仿iphone动态萤火虫锁屏应用安卓源码

    该源码是仿iphone动态萤火虫锁屏应用源码,源码SkyLock,这也是最近弄了一款锁屏,苦于市场百般阻拦与锁屏应用数量实在太多,于是将它拿出来开源:废话不多说,希望大家能够希望,更多说明请看下面的吧 ...

  3. Python语言之控制流(if...elif...else,while,for,break,continue)

    1.if...elif...else... number = 23 guess = int(input('Enter an integer : ')) if guess == number: prin ...

  4. Centos永久路由添加教程

    Centos 永久路由添加,一张图看懂全部 blog地址:http://www.cnblogs.com/caoguo

  5. C# Winform 最大化后 任务栏还显示解决

    //最大化 this.WindowState = FormWindowState.Maximized; //窗体最大化时 非全屏 不会遮盖任务栏 //去掉标题栏 this.FormBorderStyl ...

  6. getdlgitemtext

    获取控件内信息 set 设置控件内信息 oninitdialog初始化控件时的操作

  7. Android 双屏异显

    android双屏是克隆模式,如果要在第二屏幕显示不同内容,需要自定义一个Presentation类 1.先设置权限 (刚开始折腾很久没有效果,后来发现是没设置权限) <!-- 显示系统窗口权限 ...

  8. map集合遍历,放入id

    背景,需要从电脑导入excel表格到网页上然后表格中公司需要对应数据库的id 通过key-value方法来对应id Office office = new Office();office.setG00 ...

  9. 原型链、构造函数、箭头函数、se6数组去重

    原型链 例子如下: var arr = [1, 2, 3]; 其原型链为:arr ----> Array.prototype ----> Object.prototype ----> ...

  10. uva-156(Ananagrams UVA - 156)

    map容器的模板题,判断是否能交换字母顺序变成另外一个单词,只需要先把单词都变成小写字母.然后再按字母字典序排序,放入map中进行计数,然后把计数为一的再放入另一个容器,再排序输出即可 我的代码(刘汝 ...