一、卸載舊有包
大神法一:
1、 移除所有 Java相關包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ):
?
1
2
3
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、清除配置信息
?
1
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
3、清除java配置及緩存
?
1
bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
4、手動清除JVMs
?
1
rm -rf /usr/lib/jvm/*
5、清除所有java實體,如果還有,則使用Alternatives命令(Remove Java entries, if there is still any, from the alternatives):
?
1
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的路徑:
?
1
2
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"****來刪除)
?
1
2
3
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方式安裝,其實也簡單,如此即可:
?
1
apt-get install openjdk-7-sdk
2、配置環境變量
先找到java環境在哪里
?
1
update-alternatives --display java
?
1
2
3
4
5
6
7
----結果如下-------
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 )之下的,再查看此路徑:
?
1
2
3
4
5
6
7
8
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路徑了。設置環境變量
?
1
2
3
4
5
6
7
8
9
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