JAR是什么文件

所属分类: 软件教程 / 其他工具 阅读数: 976
收藏 0 赞 0 分享

JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件(.class 文件、图像和声音)绑定到 JAR 文件中,而后作为单个的简单 HTTP(Hypertext Tranfer Protocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。JAR 格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。另外,applet 编写者也可在 JAR 文件中用数字签名的方式签写各项以确认其来源。它用 Java 编写,可与现有的 applet 代码完全向后兼容且可充分扩展。

JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。

JAR文件是跨平台的,所以不必关心涉及具体平台的问题。除了可以包括声音和图像文件以外,也可以在其中包括类文件。
涉及因特网应用时,JAR文件显得特别有用。在JAR文件之前,Web浏览器必须重复多次请求Web服务器,以便下载完构成一个“程序片”(Applet)的所有文件。除此以外,每个文件都是未经压缩的。但在将所有这些文件合并到一个JAR文件里以后,只需向远程服务器发出一次请求即可。同时,由于采用了压缩技术,所以可在更短的时间里获得全部数据。另外,JAR文件里的每个入口(条目)都可以加上数字化签名(详情参考Java用户文档)。
一个JAR文件由一系列采用Zip压缩格式的文件构成,同时还有一张“详情单”,对所有这些文件进行了描述(可创建自己的详情单文件;否则,jar程序会为我们代劳)。在联机用户文档中,可以找到与JAR详情单更多的资料(详情单的英语是“Manifest”)。
jar实用程序已与Sun的JDK配套提供,可以按我们的选择自动压缩文件。请在命令行调用它

JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。

一个 JAR 文件可以用于:
□ 用于发布和使用类库 
□ 作为应用程序和扩展的构建单元 
□ 作为组件、applet 或者插件程序的部署单位 
□ 用于打包与组件相关联的辅助资源 

JAR 格式允许您压缩文件以提高存储效率。
·传输平台扩展。 Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。
·包密封。 存储在 JAR 文件中的包可以选择进行密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一 JAR 文件中找到。

创建可执行 JAR 

创建一个可执行 JAR 很容易。首先将所有应用程序代码放到一个目录中。假设应用程序中的主类是 com.mycompany.myapp.Sample 。您要创建一个包含应用程序代码的 JAR 文件并标识出主类。为此,在某个位置(不是在应用程序目录中)创建一个名为 manifest 的文件,并在其中加入以下一行:  

Main-Class: com.mycompany.myapp.Sample 然后,像这样创建 JAR 文件: 

jar cmf manifest ExecutableJar.jar application-dir 

所要做的就是这些了,现在可以用java -jar执行这个JAR文件ExecutableJar.jar。  

一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。

更多精彩内容其他人还在看

Axure RP 8怎么给下拉列表框添加多个值?

Axure RP 8怎么给下拉列表框添加多个值?Axure RP 8中想要制作一个下拉列表,有多个数值,该怎么制作呢?下面我们就来Axure给下拉列表框添加多行值的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Axure RP 8怎么制作圆形不断变换透明度的效果?

Axure RP 8怎么制作圆形不断变换透明度的效果?Axure RP 8中想要绘制五个大小不同的圆形,中间的圆形可以控制周围圆形的与透明度,该怎么谁及呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

蓝信沃卡是什么?联想蓝信沃卡资费详情介绍

中国联通占据市场效率非常之快,先后被腾讯大王卡和蚂蚁宝卡刷屏,而如今中国联通开启了全新的重大举措,与企业移动办公平台蓝信合作推出“蓝信沃卡”抢占企业用户市场。那么联通蓝信沃卡是什么?蓝信沃卡资费是怎么样的呢?本文将提供联想蓝信沃卡资费详情介绍
收藏 0 赞 0 分享

微信小程序可以分享到朋友圈吗 微信小程序支不支持分享朋友圈

微信小程序可以分享到朋友圈吗?很多朋友都在咨询微信小程序支不支持分享朋友圈,那么微信小程序可以分享到朋友圈吗,接下来小编给大家介绍究竟微信小程序支不支持分享朋友圈
收藏 0 赞 0 分享

Axure RP 8怎么利用按钮控制单选框和复选框?

Axure RP 8怎么利用按钮控制单选框和复选框?Axure中想要设计一个通过按钮来空值单选框和复选框的原型,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Axure RP 8设怎么绘制拱桥倒影图?

Axure RP 8设怎么绘制拱桥倒影图?想要制作一个圆拱桥并且设置倒影相互映衬,该怎么绘制呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

超牛卡是什么卡?电信超牛卡套餐资费详情介绍

中国联通和腾讯、支付宝联合相继推出了腾讯王卡和蚂蚁宝卡,这些优惠专属卡引起了移动和电信的高度重视,而最近发现电信推出的“超牛卡”,资费还是很划算的。那么超牛卡是什么卡?超牛卡有什么套餐资费?下面脚本之家的小编带来超牛卡套餐资费详情介绍,一起来了解下吧
收藏 0 赞 0 分享

Axure怎么设计网页的登陆页面?

Axure怎么设计网页的登陆页面?Axure中想要设计一个网页的登陆界面,输入用户名密码,该怎么设置呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

微信小程序怎么申请注册 微信小程序官方注册图文流程

微信小程序怎么申请注册?2017年1月9日,微信小程序正式与大家见面。有部分朋友不清楚怎么申请注册,接下来小编给大家带来微信小程序官方注册流程,需要的朋友可以参考下
收藏 0 赞 0 分享

微信小程序登录入口在哪? 如何发现新的小程序?

微信小程序在哪里登录?如何发现新的小程序?微信小程序于今日正式上线,用户先需要将将微信更新至iOS6.5.3版本或Android6.5.3版本。之后可通过手动搜索小程序、扫描二维码等方式激活,那么微信小程序怎么登陆呢?又怎么发现更多的小程序
收藏 0 赞 0 分享
查看更多