放大啦资源网 http://www.fangdala.com
当前位置首页 > 百科> 正文

JAR(计算机档案格式)

2020-10-13 09:17:07 暂无评论 百科
JAR(计算机档案格式)

JAR(计算机档案格式)

在软体领域,JAR档案(Java归档,英语:Java Archive)是一种软体包档案格式,通常用于聚合大量的Java类档案、相关的元数据和资源(文本、图片等)档案到一个档案,以便开发Java平台套用软体或库。

JAR档案是一种归档档案,以ZIP格式构建,以.jar为档案扩展名。用户可以使用JDK自带的jar命令创建或提取JAR档案。也可以使用其他zip压缩工具,不过压缩时zip档案头里的条目顺序很重要,因为Manifest档案常需放在首位。JAR档案内的档案名称是Unicode文本。

基本介绍

  • 中文名:罐子
  • 外文名:JAR
  • 类型:生活用品
  • 分类:家用
  • 定义:工艺品
  • 打开方式:Java、winrar

基本含义

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

相关特点

JAR 档案格式提供了许多优势和功能,其中很多是传统的压缩格式如 ZIP 或者 RAR 所没有提供的。它们包括:
安全性 可以对 JAR 档案内容加上数位化签名。这样,能够识别签名的工具就可以有选择地为您授予软体安全特权,这是其他档案做不到的,它还可以检测代码是否被篡改过。
减少下载时间 如果一个 applet 捆绑到一个 JAR 档案中,那幺浏览器就可以在一个 HTTP 事务中下载这个 applet 的类档案和相关的资源,而不是对每一个档案打开一个新连线。
压缩 JAR 格式允许您压缩档案以提高存储效率。
传输平台扩展 Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 档案打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。

包密封

存储在 JAR 档案中的包可以选择进行密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一 JAR 档案中找到。

包版本控制

一个 JAR 档案可以包含有关它所包含的档案的数据,如厂商和版本信息。

可移植性

处理 JAR 档案的机制是 Java 平台核心 API 的标準部分。

使用範围

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

运行相关

可执行的JAR
一个可执行的jar 档案是一个自包含的 Java 应用程式,它存储在特别配置的JAR 档案中,可以由 JVM 直接执行它而无需事先提取档案或者设定类路径。要运行存储在非可执行的 JAR 中的应用程式,必须将它加入到您的类路径中,并用名字调用应用程式的主类。但是使用可执行的 JAR 档案,我们可以不用提取它或者知道主要入口点就可以运行一个应用程式。可执行 JAR 有助于方便发布和执行 Java 应用程式。
创建可执行 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 必须通过 manifest 档案的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那幺环境变数 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。
启动可执行 JAR
既然我们已经将自己的应用程式打包到了一个名为 ExecutableJar.jar 的可执行 JAR 中了,那幺我们就可以用下面的命令直接从档案启动这个应用程式:
java -jar ExecutableJar.jar
META-INF 目录
大多数 JAR 档案包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。Java 2 平台识别并解释 META-INF 目录中的下述档案和目录,以便配置应用程式、扩展和类装载器:
MANIFEST.MF。这个 manifest 档案定义了与扩展和包相关的数据。
INDEX.LIST。 这个档案由 jar 工具的新选项 -i 生成,它包含在应用程式或者扩展中定义的包的位置信息。它是 JarIndex 实现的一部分,并由类装载器用于加速类装载过程。
xxx.SF。 这是 JAR 档案的签名档案。占位符 xxx标识了签名者。
xxx.DSA。 与签名档案相关联的签名程式块档案,它存储了用于签名 JAR 档案的公共签名。

相关套用

套用

JAVA手机电子书的格式一般为JAR和JAD,其中JAD档案是一个说明档案,描述jar档案的信息。部分手机不支持直接读取JAR(这是手机安全策略引起的),这时则需要JAD档案。这样的手机只在少数。JAVA运行在JAVA虚拟机之上,也就是JVM,而很多低端机型也可以支持JAVA,因此就注定了JAVA格式的适用範围相当广泛。由于JAVA可以提供丰富的互动行为,因此在支持图文,多媒体方面做的最为优秀,另外,阅读器和文本被打包在一起(jar),因此只需安装即可阅读,无需另外安装阅读器或者下载电子书。

程式

JAVA平台由于在手机上广泛套用,使得扩展名为jar的Kjava游戏成为目前手机游戏市场上最大的家族,直接传入手机直接安装即可。
众所周知,JAVA是一种跨平台的程式设计语言。由于其高可移植性、简单、可靠、安全等诸多优异性能,现在已经成为最受欢迎、最有影响力的程式语言之一。
JAVA程式的短小精干和其跨平台的先天特点,使其成为众多开放或半开放式手机扩展自身功能的最佳选择。因此现在市场上流行的手机大多支持JAVA应用程式了。

工具用法

为了用 JAR 档案执行基本的任务,要使用作为Java Development Kit 的一部分提供的 Java Archive Tool ( jar 工具)。用 jar 命令调用 jar 工具。表 1 显示了一些常见的套用:
常见的 jar 工具用法
功能
命令
用一个单独的档案创建一个 JAR 档案
jar cf jar-file input-file...
用一个目录创建一个 JAR 档案
jar cf jar-file dir-name
创建一个未压缩的 JAR 档案
jar cf0 jar-file dir-name
更新一个 JAR 档案
jar uf jar-file input-file...
查看一个 JAR 档案的内容
jar tf jar-file
提取一个 JAR 档案的内容
jar xf jar-file
从一个 JAR 档案中提取特定的档案
jar xf jar-file archived-file...
运行一个打包为可执行 JAR 档案的应用程式
java -jar app.jar

猜你喜欢