您的位置:首页 > 编程语言 > Java开发

jar格式文件简介

2013-11-10 16:28 225 查看

jar是什么?

 jar是java中的文件归档技术。它使用十分流行的ZIP文件格式将很多分散的文件归档到一个文件中。尽管jar能够被用作通用的归档工具,但是开发它的最重要目的并不是用作这个。它是为了能够在一次http连接中将applet和它的相关资源(例如图片、clsss文件等)下载到用户的浏览器中,而不是使用一份资源下载一次。通过这个方法极大地减少了从载入到运行applet所使用的时间。jar格式同样支持压缩,这样就降低了jar文件的大小提高了下载速度。此外,单独的jar文件能够让它的作者给他加上数字签名,提高了安全性。

那么jar文件是:

一种可以跨平台的归档格式
一种可以同时处理音频、图片和class文件的文件格式
可以兼容已经存在的applet代码
一个使用java开发的、开放标准的、可扩展的
一种优先使用的,用来将分散的applet资源归档的方法
jar由PKWARE定义的zip归档文件组成,它包含了一份清单文件和可能存在的由JAR文件规范定义的签名文件。

APPLET浏览器标签

在你的html页面中,改变APPLET标签去使用JAR文件是十分简单的。在服务器端识别JAR文件是通过ARCHIVE参数的,同时存储jar文件的目录是相对于存储html文件的。
下面看一个使用jar的APPLET标签:
  
<applet code=Animator.class
archive="jars/animator.jar"
width=460 height=160>
<param name=foo value="bar">
</applet>

我们可以发现相同的属性code=myApplet.class任然存在。通常来书,code属性标示了applet从哪里开始执行。同时,执行applet所需要的文件以及资源都已经包含在了下载的jar文件中。
ARCHIVE属性描述了一个或多个需要被预先下载的jar文件。这些java类是通过使用CODEBASE属性的AppletClassLoader类加载器加载的。类加载器加载使用逗号“,”分割的jar文件列表。
一旦jar文件被标示了,它将被下载并根据资源类别进行分离。在applet执行期间,当需要class文件、图片和音频时将首先从已下载的归档文件中查找。如果没有找到,则从CODEBASE属性指定服务器路径进行下载。

archive属性可以一次指定多个jar文件,这些文件必须通过逗号“,”隔开。这些文件依照顺序下载。
如下:

<applet code=Animator.class
archive="classes.jar, images.jar  ,  sounds.jar" width=460 height=160>
<param name=foo value="bar">
</applet>


这申明的jar文件之间可以有任意数量的空格。此外,archive属性标签不是大小写敏感的,它可以是大写的、小写的或者是大小写混合,例如:ArCHiVe。

可执行JAR文件

在window平台上,java运行环境默认会注册和jar文件的联系,这样就可以双击jar文件来通过javaw -jar命令来运行它。同时,相关联的资源也会被自动加载,这使得wiindows终端用户可以十分方便得运行java程序。
在Solaris2.6内核中已经可以识别jar文件的魔数了,可以通过执行java -jar命令来使得java程序可以像本地程序一样。在CED桌面环境中,一个jar格式的java程序同样可以通过命令行或者双击图标执行。

原文地址:http://docs.oracle.com/javase/7/docs/technotes/guides/extensions/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jar java