本文转载自: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. node.js安装及其环境配置

    nodejs: 实际上是采用google的chrome浏览器V8引擎,由C++编写的 本质上是一个javascript的运行环境 浏览器引擎可以解析js代码 nodejs可以解析js代码,没有浏览器端 ...

  2. html5——地理位置

    获取地理位置 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  3. centos vm 桥接 --网络配置

    /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none BROADCAST=192.168.1.255 HWADDR= ...

  4. CodeCombat代码全记录(Python学习利器)--Kithgard地牢代码1

    Kithgard地牢注意:在调用函数时,要在函数的后面加上括号内容,否则在python中,将不会认为你在调用这个函数内容,而你的英雄将像木头一样站在原地不会执行上左下右的移动!!! hero.move ...

  5. Self-Attetion

    四.self-attention 1.是什么? attention机制通常用在encode与decode之间,但是self-attention则是输入序列与输出序列相同,寻找序列内部元素的关系即 K= ...

  6. SQL上门

    学习这个 介绍:SQL 是用于访问和处理数据库的标准的计算机语言.结构化化查询语言! SQL可以分为两大部分:数据操作语言(DML)和数据定义语言(DDL) 数据操作语言:select.update. ...

  7. Python MongoDB 教程

    基于菜鸟教程实际操作后总结而来 Python MongoDB MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON). MongoDB 数据库安装与介绍可以 ...

  8. PHP排序算法之快速排序

    原理:找到当前数组中的任意一个元素(一般选择第一个元素),作为标准,新建两个空数组left.rignt,遍历整个数组元素,如果遍历到的元素比当前的元素小就放到数组left,比当前的元素大放到rignt ...

  9. python 简单爬取今日头条热点新闻(一)

    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...

  10. 7-15 QQ帐户的申请与登陆

    7-15 QQ帐户的申请与登陆(25 分) 实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式: 输入首先给出一个正整数N(≤10​5​​),随后给 ...