级别: 初级 John Zukowski (jaz@zukowski.net), 总裁, JZ Ventures, Inc.
2004 年 2 月 01 日 Sun 悄悄地发布了 J2SE 1.5 的 alpha 版本,就是我们大家所熟知的“Tiger”,开发者 John Zukowski 已经做好准备开始他的驯虎行动。 这个新的专栏是 Merlin 的魔力 专栏的延续, 详细地讨论了有关平台的改变,并提供了一些例子作为快速参考。在第一篇文章中,John 向您展示了如何获得该软件的预览版和如何安装该软件。您可以在本文的讨论论坛中与作者和其他读者共享您的想法(您也可以点击文章顶部或者底部的 讨论 进入论坛 )。
您是否想得到 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[ ] 。
关于文档
像我前面说的一样,该软件不提供文档。如果在 Web 上有人张贴 1.5 版本的 Javadoc,您可以自己生成它(参阅
参考资料)。这要涉及到如何使用
Ant 来完成这一任务的技巧。在生成脚本(在
参考资料
中提供了一个例子的源代码下载)中把
JDK_HOME 修改为您安装了 SDK 的目录,在 Windows 平台把
PLATFORM_EXTENSION 修改为
exe ,把
JDK_MAJOR_VERSION
修改为 1.5,然后在您创建 build.xml 文件的地方运行 Ant。这一步会解压 src.zip 文件并安装它,在
java 、
javax
和
org 包上运行
javadoc 。
注意:
该程序需要运行一段时间。不计算解压时间的话,在我已经用了两年的机器上大概运行了 17 分钟。关闭其他正在运行的程序有助于为该程序运行提供更多的内存空间。不必担心安装过程中出现的警告消息
(我遇到接近 3000 个,我遇到得真够多的)
我们在本专栏的未来几期将要看看这些生成的新内容(像
java.io.Closeable 接口和新的
java.util.Queue
集合)。你将会看到生成的 Javadoc 输出在安装目录(
JDK_HOME )下的 new
docs
目录。
结束语
程序编写是非常有趣的,在这个 early access/ alpha 版中,您将有机会体验到即将发行的正式版的很多特性。在头几个月, 我们将寻找新版本的更多新特性。如果您在
alpha 版中发现了问题,请把问题发到
j2se-beta-feedback@sun.com。如果您在安装过程中遇到问题,
请不要给我发邮件;您可以
把问题张贴到论坛上,
我相信在论坛中您的问题会得到解决。
参考资料
关于作者
对本文的评价
|