我的ubuntu系統(tǒng)中,既安裝了openjdk,又安裝了jdk5,jdk6.
其中,openjdk是使用debian自動(dòng)安裝,安裝在/usr/lib/jvm/java-6-openjdk中。
系統(tǒng)自動(dòng)地將openjdk設(shè)為默認(rèn)java命令環(huán)境。
- :~/download$ ll /usr/bin/java
- lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*
-
- :~/download$ ll /etc/alternatives/java
- lrwxrwxrwx 1 root root 43 2011-09-09 17:36 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java
而jdk1.5和jdk1.6,均是我下載bin文件后安裝的,在
- /home/wuekzhu/download/jdk1.5.0_22
和
- /home/wuekzhu/download/jdk1.6.0_23
目錄下。
---------------------------------------------------------------------------------------------------------------------------------------
現(xiàn)在,我要使用update-alternatives將系統(tǒng)的默認(rèn)java環(huán)境變成jdk1.6
首先使用update-alternatives --config java,可以看到當(dāng)前當(dāng)前是使用openjdk的,
- /etc/alternatives/java 是 link 到 /usr/lib/jvm/java-6-openjdk/jre/bin/java
然后,使用以下命令配置jdk1.6,實(shí)際上就是把jdk1.6的軟鏈接替代openjdk的,當(dāng)然update-alternatives會(huì)記錄有哪些候選命令。
- sudo update-alternatives --install /usr/bin/java java /home/wuekzhu/download/jdk1.6.0_23/bin/java 1888
這樣之后,就ok了:
- $ update-alternatives --config java
- 有 2 個(gè)候選項(xiàng)可用于替換 java (提供 /usr/bin/java)。
-
- 選擇 路徑 優(yōu)先級(jí) 狀態(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)模式
現(xiàn)在,/usr/bin/java 已經(jīng)指向我們的 jdk1.6 了:
- :~/download$ ll /usr/bin/java
- lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*
-
- :~/download$ ll /etc/alternatives/java
- lrwxrwxrwx 1 root root 43 2011-09-09 17:36 /etc/alternatives/java -> /home/wuekzhu/download/jdk1.6.0_23/bin/java*
----------------------------------------------------------------------------------------------------------------------
另外,/etc/profile中path的設(shè)置,可以選擇覆蓋或不覆蓋/usr/bin/java命令。
如果我這樣設(shè)置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
如果我這樣設(shè)置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