您是否想得到 1.5 版本的 Java 2 Standard Edition 的軟件開發包(SDK),而又不知道從何處可以獲取?Sun 已經通過 JavaLobby 的一個 特殊 網頁發布了該版本。但是,如果不想成為 JavaLobby 的成員,您仍然可以獲得 very early access版本。實際上它只是一個 alpha 版本,並且已經過時了,但是現在還是是可以使用,因此如果不怕承擔風險,那麼就可以使用它。
下載 alpha 版本
在 Core Java J2SE 1.5 主頁(參閱 參考資料)Sun 並沒有提供這個受限版本的任何信息。也不能訪問 Early Access Downloads 主頁(參閱 參考資料)。盡管信息如此缺乏,如果您知道到什麼地方可以找到,就可獲得一個 Tiger 的一份拷貝。最簡單的就是在 JavaLobby 上注冊獲得成員資格(參閱 參考資料),如果您已經知道下載地址,甚至可以不用在 JavaLobby 申請成員資格。
訪問 JavaLobby 的 alpha 版本下載鏈接,然後單擊 Download 鏈接。如果您不是 Sun Developer Network 的成員,那麼需要進行注冊。否則,只需登錄和點擊 Continue 按鈕。下載文件的大小通常是 30 MB 到 45 MB,但 Solaris 9 SPARC 平台需要下載的文件大小不到 9 MB,。所以要根據自己的操作系統選擇合適的下載鏈接。下載完成後,把文件存在本地,就可以進行安裝了。
在 Windows 中安裝 Tiger
Sun 沒有提供關於這個版本的安裝文檔,因此在安裝過程中只能靠自己。在安裝過程中 遇到 問題要反饋時,沒有關於安裝的技術支持 —— 也沒有關於其他方面的支持。對於 Win32/Intel 平台,首先運行剛才下載的可執行文件j2sdk-1_5_0-beta-bin-b31-windows-i586-11_dec_2003.exe
。在進入許可協議窗口(圖 3)之前將會看到兩幅介紹性屏幕(圖 1 和圖 2)。請仔細的閱讀許可協議,然後選中 I accept the terms in the license agreement單選按鈕,按 Next。
圖 1. 歡迎屏幕
圖 2. 向導啟動屏幕
圖 3. 許可協議屏幕
如果您的屏幕抓圖與上述不一致的話,可能是因為我使用的是 Windows 平台,至於 Linux(或 Solaris)平台下安裝問題的一些細節方面的不同,留給讀者作為練習。
在圖 4 中將會提供 Custom Setup 的設置。默認情況下,該軟件將會安裝到c:\j2sdk1.5.0
。您可能想把這個路徑改為c:\j2sdk1.5.0-alpha
,這樣當真正的 1.5 版本發布時,安裝時就不會產生混淆。如果您選擇安裝所有組件,那麼需要大約 300 MB 的自由空間。注意這裡沒有任何文檔選項。這是因為這個 early access 版本不提供幫助文檔。修改完安裝路徑後,按 Next。
圖 4. Custom Setup 屏幕
接著進入 Browser Registration 屏幕(圖 5)。在這裡,可以選擇浏覽器用於運行您希望的 Java 插件的版本。由於這是預覽版代碼,因此您可能會全部取消選中,只要在浏覽器之外有可用的運行時即可。根據您想要在浏覽器中測試的內容,或者如果您有一台專用的測試機器,我們假定您一個都不選(也就是說,取消選中所有浏覽器),然後點擊 Install。
圖 5. Browser Registration 屏幕
下面是 Progress 屏幕(圖 6),該屏幕執行拷貝文件過程、注冊產品和完成安裝。在這最後一步,需要等待一段時間。如果選擇了安裝 Java 運行時環境(Java Runtime Environment,JRE),在看到 Installation Complete 屏幕(圖 8)之前,將會看到另外一個屏幕(圖 7 )。
圖 6. Progress 屏幕
圖 7. JRE 進度屏幕
選擇 Finish結束安裝。
圖 8. 安裝完成屏幕
使用 Tiger
現在已經有了完全的 1.5 版本 —— 至少是 Sun 提供的 early access 版本。要使用這個版本,需要把安裝目錄添加到路徑中,並更改所有相關的環境變量,如清單 1 所示:
清單 1. 設置 Windows 環境變量
set JAVA_HOME=c:\j2sdk1.5.0-alpha
set PATH=%JAVA_HOME%\bin;%PATH%
第一行設置環境變量JAVA_HOME,該變量的值就是 tiger 的安裝路徑。第二行表示在這個安裝路徑下添加一個bin目錄到您的路徑中。
在設置完環境變量後,可以運行java -version確認所做的設置是否正確,就像清單 2 中一樣:
清單 2. 測試 1.5 環境
java -version
java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b31)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b31, mixed mode)
為了測試新的版本,我們將使用 上月專欄 中的測試代碼。找到該代碼,並在不加載任何其他特殊庫的情況下對其進行編譯。編譯該代碼需要使用-source 1.5命令行參數。您將會發現從 early access 版到 alpha 版的一些變化,雖然誰也無法知道 beta 版本將會帶來的改變。例如,在枚舉測試的例子中取得VALUES常量 現在使用的是values()方法,它返回一個數組而不是List。同樣,switch 選擇標簽變為不再限制使用常量參數。清單 3 展示了上個月例子中的一個經過修改的EnumTest類(獲取 源文件):
清單 3. 枚舉測試
public class EnumTest {
public static void main(String args[]) {
enum Color {red, green, blue};
// Get collection of values (as List)
System.out.println(java.util.Arrays.asList(Color.values()));
// Check if collection type is array of Color objects
System.out.println(Color.values() instanceof Color[]);
// Create variable of type for each value
for (Color aColor : Color.values()) {
// Use iteration in switch
switch(aColor) {
case red:
System.out.println("Got red.");
break;
case green:
System.out.println("Got green.");
break;
case blue:
System.out.println("Got blue.");
break;
}
}
}
}
清單 4 顯示了編譯清單 3 的步驟並運行(編譯參數-source 1.5只在編譯時需要):
清單 4. 編譯和運行例子
javac -source 1.5 EnumTest.java
java EnumTest
[red, green, blue]
true
Got red.
Got green.
Got blue.
在清單 4 中的第 4 行顯示的輸出true描述了調用values()的返回值類型是Color[ ]。
參考資料:
http://www.ibm.com/developerworks/cn/java/j-tiger01204/index.html#resources
本文配套源碼