您的位置:首页 > 百科 > 正文

JAR

在软件领域,JAR文件(J来自ava归档,英语: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 文件格式提供了许多优势和功能,其中很多是传统的界刘夫许洋农压缩格式如 ZIP 或者 RAR 所没有提供的。它们包括:

  安全性 可以对 JAR 文件内容加上数字化签名。这判脱南会危汉女样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码来自是否被篡改过。

  减少下载时间 如果一个 applet 捆绑到一都配磁现推服波个 JAR 文件中,那么浏览器就可以在一个 HTTP 事务中下载这个 applet 的类文件和相关的资源,而不是对每一个文件打开一个新连接。

  压缩 JAR 格式允许您压缩文件以提高存储效率。

  输平台扩展 Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。

包密封

  存储在 JA高批红机六静便低后R 文件中的包可以选择进行360百科密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一 JAR 文件中找到。

包版本控余逐害般曲除举以实应尼

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

可移植性

  处理 JAR 文件的机制是 J针衡田除坐重农ava 平台核心 API 止怀史脱分的标准部分。

使用范围

  一个 JAR 文件可以用

  □ 用于发布和使用类库

  □ 作为应用程序和扩展的构建单元

  额困老火哥命□ 作为组件、apple来自t 或者插件程序的部署单位

  □ 用于打包与组件相关联是济范坏叫缩纪的辅助资源

运行相关

  可执行的JAR

  一个可执行的jar 文件是一个自包含的 Java 应用程序,它存储在特别配置的JAR 文件中,可以由 JVM 直接执行它而无需事先提取文件或者设置类路径。要运行存储360百科在非可执行的 JAR 中的应用程序,必须将它加入到您的类路径中,并用名字调用应用程序的主类。但是使用可执行的 JAR 文件,我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。可执行 JAR 有助于方便发布和执行 Java 应用程序。

  创建可执行 JAR

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

  Main-Class: com.mycompany.myapp.Sample //结尾键入回车

  然后,像这样创建 JAR 文件:

  jar cmf manife突权带st Executabl钢矛汽模话求械eJar.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.D美识式控构演SA。 与签名文件相关联的签名程序块文件,它存储了用于签名 JAR 文件的公共签名。

相关应用

应用

  JAVA手机电子书的格式一般为买班见JAR和JAD,其中JAD文件是一个说明文件,描述jar文件的信息。部分手机不支持直接读取JAR(这是手机安全策略引起诗算黑补的),这时则需要JAD容讨审务利常由践论配往文件。这样的手机只在少数。J烟纸物等入笑站单AVA运行在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

发表评论

评论列表