【轉】使用alternatives,自由切換linux的jdk版本

qqmengxue發表於2010-08-11

以前自己裝上jdk之後,都是把java,javac做成連結替換掉/usr/bin/裡面的gij的java和javac。但是這麼做一直感覺都不是很“正規”,像是旁門左道。

[@more@]

前一陣子在網上看到有人說可以用一個叫做alternativs的工具來實現linux下軟體版本的遷移,就決定使用alternatives來把jdk從gij遷移至我新裝的jdk6.0。

alternatives在/usr/sbin目錄下

首先需要把新安裝的jdk新增到alternatives:

[root@djn-laptop sbin]# ./alternatives --install /usr/bin/java java /usr/share/jdk1.6.0_02/bin/java 300
[root@djn-laptop sbin]# ./alternatives --install /usr/bin/javac javac /usr/share/jdk1.6.0_02/bin/javac 300

然後使用--display選項可以檢視目前系統可用的JDK:
[root@djn-laptop sbin]# ./alternatives --display java
java - 狀態是手工。
連結目前指向 /usr/share/jdk1.6.0_02/bin/java
/usr/lib/jvm/jre-1.4.2-gcj/bin/java - 優先度 1420
從 keytool:/usr/lib/jvm/jre-1.4.2-gcj/bin/keytool
從 rmiregistry:/usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry
從 jre_exports:/usr/lib/jvm-exports/jre-1.4.2-gcj
從 jre:/usr/lib/jvm/jre-1.4.2-gcj
/usr/share/jdk1.6.0_02/bin/java - 優先度 300
從 keytool:(null)
從 rmiregistry:(null)
從 jre_exports:(null)
從 jre:(null)
當前“最佳”版本是 /usr/lib/jvm/jre-1.4.2-gcj/bin/java。

[root@djn-laptop sbin]# ./alternatives --display javac
javac - 狀態是手工。
連結目前指向 /usr/share/jdk1.6.0_02/bin/javac
/usr/lib/jvm/java-1.4.2-gcj/bin/javac - 優先度 1420
從 appletviewer:/usr/lib/jvm/java-1.4.2-gcj/bin/appletviewer
從 jar:/usr/lib/jvm/java-1.4.2-gcj/bin/jar
從 jarsigner:/usr/lib/jvm/java-1.4.2-gcj/bin/jarsigner
從 javadoc:/usr/lib/jvm/java-1.4.2-gcj/bin/javadoc
從 javah:/usr/lib/jvm/java-1.4.2-gcj/bin/javah
從 rmic:/usr/lib/jvm/java-1.4.2-gcj/bin/rmic
從 java_sdk_exports:/usr/lib/jvm-exports/java-1.4.2-gcj
從 java_sdk:/usr/lib/jvm/java-1.4.2-gcj
/usr/share/jdk1.6.0_02/bin/javac - 優先度 300
從 appletviewer:(null)
從 jar:(null)
從 jarsigner:(null)
從 javadoc:(null)
從 javah:(null)
從 rmic:(null)
從 java_sdk_exports:(null)
從 java_sdk:(null)
當前“最佳”版本是 /usr/lib/jvm/java-1.4.2-gcj/bin/javac。

確認無誤後,就可以使用--config引數來選擇想用的JDK
了:
[root@djn-laptop sbin]# ./alternatives --config java

共有 2 個程式提供“java”。

選擇 命令
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+ 2 /usr/share/jdk1.6.0_02/bin/java

按 Enter 來儲存當前選擇[+],或鍵入選擇號碼:

[root@djn-laptop sbin]# ./alternatives --config javac

共有 2 個程式提供“javac”。

選擇 命令
-----------------------------------------------
* 1 /usr/lib/jvm/java-1.4.2-gcj/bin/javac
+ 2 /usr/share/jdk1.6.0_02/bin/javac

按 Enter 來儲存當前選擇[+],或鍵入選擇號碼:

輸入需要使用的JDK的編號就可以了。我的機器當然是選擇第二項了。


轉載地址:http://hi.baidu.com/openj/blog/item/9b4ba543fdfa0e1172f05df6.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-1036633/,如需轉載,請註明出處,否則將追究法律責任。

相關文章