在应用程序中和Applets小程序中使用archive
你得感谢Java 1.2所提供的JAR增强功能。你现在可以运行已经被归档(archived)的applets和应用程序了。例如,如果你传送给Java解释器一个- jar命令,你就可以运行已经归档(archived)的应用程序了。打包压缩在JAR文件中的Java应用程序可以直接在Windows或者 Solaris桌面上执行。
这些归档文件(archives)自动执行的方式取决于你所使用的系统。当你在32位的Windows系统中 安装了Java 1.2 运行环境后,安装程序将注册一个缺省的JAR文件连接。之后,你可以通过-jar 选项调用Java解释器,就可以自动运行JAR文件。对于 Solaris 2.6操作系统, Sun实际上扩展了该操作系统的内核,这样系统就可以识别JAR文件了。内核的扩展部分使得Solaris 2.6通过-jar选项直接调用Java解释器,这样Solaris系统可以同执行内在的Solaris可执行文件一样,执行archive 文件。
运 行已经归档(archived)的Java小程序同运行已经归档(archived)的应用程序有所不同,因为你需要告诉Java applet viewer或者支持Java的浏览器如何使用applet。通常情况下,通过创建包含<APPLET>标识的网页就可以了。该标识的有关属 性值会告诉你浏览器关于applet的有关情况,诸如它的类名和位置。
使用<APPLET> 标识,你可以把一个或者更多个archives同applet联系起来。当你在小程序中使用archive文件时,浏览器总是先在archives中寻找 需要的类和资源文件。如果浏览器在archives中找不到这些文件,浏览器就试图从服务器获得这些文件。如果archives 不存在,情况也是如此。
用 来在applet中标明Java archive的属性是ARCHIVE。属性ARCHIVE总是同CODE属性一起配合使用的。CODE属性标明了主applet类的名称, ARCHIVE属性标明了archive文件的位置,该位置可以通过相对的或者绝对的URL来定义。对于相对的URL,你的浏览器根据applet代码的 根目录,来决定archive文件的位置。你是否回忆起来,代码所在位置的根目录就是applet的源代码所在位置,该位置可以用CODEBASE属性标 明。
在下面的例子中,主applet类是myapp.class,浏览器在相应的属性文件中寻找它。如果浏览器找不到applet类,浏览器就到服务器上去寻找该applet类。
<APPLET CODE="myapp.class" ARCHIVE="myapp.jar" WIDTH="250" HEIGHT="250">
</APPLET>
如 果一个applet使用了不止一个archive,你可以输入在逗号分隔开的清单中输入archives文件的URL。下面的例子中,applet使用了 两个archives文件。第一个archive名为strider1.jar,第二个archive 名为strider2.jar。
<APPLET CODE="strider.class" ARCHIVE="strider1.jar, strider2.jar" WIDTH="300" HEIGHT="300">
</APPLET>