說(shuō)明:
如我系統已安裝有java 1.6,還想要安裝java 1.7,但我不想卸載java 1.6。就可以通過(guò)update-alternatives –config在多個(gè)java版本間進(jìn)程切換。update-alternatives是用于在多個(gè)同類(lèi)型命令中進(jìn)行切換的一個(gè)腳本,在debian中可以通過(guò)apt-get install dpkg來(lái)進(jìn)行安裝。
在說(shuō)明update-alternatives的詳細用法之前,先讓我們看看系統中已有的例子。打開(kāi)終端,執行下面的命令:
# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 2011-03-12 15:20 /usr/bin/java -> /etc/alternatives/java
# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 40 2011-03-12 15:20 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java
java這個(gè)可執行命令實(shí)際是一個(gè)鏈接,指向了/etc/alternatives/java。而這個(gè)也是一個(gè)鏈接,指向了/usr/lib/jvm/java-6-openjdk/jre/bin/java,這才是最終的可執行文件。之所以建立這樣兩個(gè)鏈接,是為了方便腳本程序的編寫(xiě)和系統的管理。
語(yǔ)法:
暫空?。?!
實(shí)例:
1. display參數列出一個(gè)命令的所有可選命令
# update-alternatives --display java
2. config參數用于給某個(gè)命令選擇一個(gè)link值,相當于在可用值之中進(jìn)行切換吧。
# update-alternatives --config java //有 3 個(gè)候選項可用于替換 java (提供 /usr/bin/java) 選擇 路徑 優(yōu)先級 狀態(tài) ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自動(dòng)模式 * 1 /home/wuekzhu/download/jdk1.6.0_23/bin/java 1 手動(dòng)模式 2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手動(dòng)模式
3. install參數用于添加一個(gè)命令的link值,相當于添加一個(gè)可用值,其中slave非常有用。
# update-alternatives –install /usr/bin/java java /usr/local/jre1.6.0_20/bin/javac 100 # update-alternatives –install /usr/bin/java java /usr/local/jre1.6.0_20/bin/javac 100 –slave /usr/bin/javac javac /usr/local/jre1.6.0_20/bin/javac
4. remove參數用于刪除一個(gè)命令的link值,其附帶的slave也將一起刪除。
# update-alternatives –remove java /usr/local/jre1.6.0_20/bin/java
當然如果想讓java能使用,還是得把java按照如下添加到環(huán)境變量去。
# vim /etc/profile //在最后添加以下內容
JAVA_HOME=/usr/local/jdk1.5.0_22
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$PATH: $JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
如果想通過(guò)update-alternatives在多個(gè)版本的java間切換,只需簡(jiǎn)單地用update-alternatives –config java,選擇我們想要的java版本即可!
附錄:
附錄1./etc/profile中path的設置,可以選擇覆蓋或不覆蓋/usr/bin/java命令。
如果我這樣設置profile,那么會(huì )使用jdk1.5 :
#set java environment
JAVA_HOME=/home/wuekzhu/download/jdk1.5.0_22
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
如果我這樣設置profile,那么會(huì )使用/usr/bin/java – > /etc/alternatives/java :
#set java environment
JAVA_HOME=/home/wuekzhu/download/jdk1.5.0_22
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$PATH: $JAVA_HOME/bin
聯(lián)系客服