【
IT168 技術文檔】Fedora Linux由於開發者的問題,導致Sun的JVM在它上面安裝和配置都非常困難。這裡談論的和下面安裝的Sun的JVM(以及JDK)都是指官方的實現版本,不是其他的參考實現。在這裡我會教你如何在5分鐘或者更少的時間內比較簡單地在Fedora Linux 6或7上面安裝JDK 6或者Java SE 6。下面是詳細步驟:
1. 做為root用戶登錄
2. 首先你要在這裡下載JDK 6或者Java SE 6。下載工作在圖形浏覽器比如Firefox、Internet Explorer或者Safari裡面都很正常。可是Sun使得Linux控制台(象那些試圖安裝在他們特定web服務器)用戶從java.sun.com下載這些文件很困難。你沒法從基於文件的lynx浏覽器訪問下載鏈接。幸運的是有一個解決辦法,就是我發現了一個秘密地點,在那裡你可以很容易得使用wget或者curl(控制台程序)去下載JDK 6。如果你打算使用任何下載加速程序的話,這個消息也非常有用。現在的二進制(32位版本)下載在這裡。隨著時間推移,這個鏈接肯定會改變,所以你最好是浏覽到上面的鏈接,然後從那個頁面得到下載鏈接比較妥當。
用wget 或者curl下載它。例如,按照上面的連接,這個命令是這樣:
wget http://www.java.net/…/jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin
注意:這個鏈接為了簡化期間被縮短了,然而鏈接指向的是真實的下載地址。
3. 現在修改下載的文件到755權限,象這樣:
chmod 755 jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin
4. 然後運行它:
./jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin
你將需要輸入yes去表示接受他們的用戶協議,然後安裝過程會自己完成。不幸的是,到此為止你的工作還沒做完。在命令行輸入java –version你會發現它還是指向從gcj來的蹩腳的沒有價值的老版本JVM。
5. 現在你需要尋找JDK安裝的真正位置,然後指示Fedora接受你的選擇。
輸入以下命令:
updatedb;locate javac |grep bin
你將會看到像這樣的項:
/usr/java/jdk1.6.0_02/bin/javac
這裡的/usr/java/jdk1.6.0_02是你的機器的真正JAVA_HOME。注意這一點,因為你將需要它來運行後面的命令。
現在你需要運行alternatives命令指示Fedora認可Sun的JVM。
alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_02/bin/java 100
alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_02/bin/jar 100
alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_02/bin/javac 100
如果有需要,你可以用同樣的格式指定其他的Java可執行程序。
注意:如果alternatives命令不在你的路徑裡面,你可以使用locate alternatives去找到它的位置。
最後我們需要配置alternative去使用Sun的JVM做為缺省JVM。輸入下面命令:
/usr/sbin/alternatives --config java
它會出現至少兩個選項給你選。選擇那個Sun的JVM的選項。對於其他命令也重復同樣的過程。
現在你已經為Fedora上大部分調用JVM的應用更新了配置。輸入java –version,你會看到象下面的輸出:
java version “1.6.0_02-ea”
Java(TM) SE Runtime Environment (build 1.6.0_02-ea-b02)
Java HotSpot(TM) Client VM (build 1.6.0_02-ea-b02, mixed mode, sharing)
注意:這樣做對於Fedora上面的大多數調用JVM的應用有效,除了Tomcat。缺省安裝的Tomcat被硬編碼使用GCJ的JVM。我修改它的配置文件但是沒有效果。我的解決方案是從Tomcat網站直接安裝Fedora版本的Tomcat,那樣的話,只要修改JAVA_HOME的值指向我們前面安裝的位置,它就會正確工作。