最近,迷上了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):
2、清除配置資訊
3、清除java配置及快取
4、手動清除JVMs
5、清除所有java實體,如果還有,則使用Alternatives命令(Remove Java entries, if there is still any, from the
alternatives):
6、查詢可能存在 Java的路徑:
如果上述命令產生了任何類似於這樣(
/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"來刪除)
確認這些符號連結(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方式安裝,其實也簡單,如此即可:
2、配置環境變數
先找到java環境在哪裡
4 |
連結目前指向 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java |
5 |
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - 優先順序 1071 |
6 |
slave java.1.gz:/usr/lib/jvm/java-7-openjdk-amd64/jre/ man /man1/java.1.gz |
7 |
目前“最佳”的版本為 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java |
看到了結果,即java環境是在這個路徑(/usr/lib/jvm/java-7-openjdk-amd64)之下的,再檢視此路徑:
3 |
lrwxrwxrwx 1 root root 24 4月 27 2012
|
4 |
default-java -> java-1.7.0-openjdk-amd64
|
5 |
lrwxrwxrwx 1 root root 24 4月 27 2012 java-1.6.0-openjdk -> java-1.7.0-openjdk-amd64
|
6 |
lrwxrwxrwx 1 root root 20 2月 21 14:22 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
|
7 |
lrwxrwxrwx 1 root root 24 4月 27 2012 java-6-openjdk -> java-1.7.0-openjdk-amd64
|
8 |
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路徑了。
設定環境變數
4 |
export JAVA_HOME=/usr/lib/jvm/default-java |
5 |
export JRE_HOME=$JAVA_HOME/jre |
6 |
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH |
7 |
export ANDROID_SDK_HOME=/home/nil/software/android-sdk-linux |
8 |
export ANDROID_SDK_TOOLS=/home/nil/software/android-sdk-linux/tools |
9 |
export PATH=$ANDROID_SDK_HOME:$ANDROID_SDK_TOOLS:$JAVA_HOME/bin:$PATH |
至此,android開發環境就好了