# 课程：JAR 文件中的打包程序

> 原文： [https://docs.oracle.com/javase/tutorial/deployment/jar/index.html](https://docs.oracle.com/javase/tutorial/deployment/jar/index.html)

Java™Archive（JAR）文件格式使您可以将多个文件捆绑到一个归档文件中。通常，JAR 文件包含与 applet 和应用程序关联的类文件和辅助资源。

JAR 文件格式提供了许多好处：

*   _ 安全 _：您可以对 JAR 文件的内容进行数字签名。然后，识别您的签名的用户可以选择授予您不具备的软件安全权限。
*   _ 减少下载时间 _：如果您的 applet 捆绑在 JAR 文件中，则可以在单个 HTTP 事务中将 applet 的类文件和相关资源下载到浏览器，而无需为每个文件打开新连接。
*   _ 压缩 _：JAR 格式允许您压缩文件以实现高效存储。
*   _ 扩展包装 _：扩展框架提供了一种向 Java 核心平台添加功能的方法，JAR 文件格式定义了扩展的包装。通过使用 JAR 文件格式，您也可以将软件转换为扩展名。
*   _ 软件包密封 _：可以选择密封存储在 JAR 文件中的软件包，以便软件包可以强制实现版本一致性。在 JAR 文件中封装包意味着必须在同一个 JAR 文件中找到该包中定义的所有类。
*   _ 软件包版本控制 _：JAR 文件可以保存有关其包含的文件的数据，例如供应商和版本信息。
*   _ 可移植性 _：处理 JAR 文件的机制是 Java 平台核心 API 的标准部分。

本课有四个部分：

## [使用 JAR 文件：基础知识](basicsindex.html)

本节介绍如何执行基本 JAR 文件操作，以及如何运行捆绑在 JAR 文件中的软件。

## [使用清单文件：基础知识](manifestindex.html)

本节介绍清单文件以及如何自定义它们，以便您可以执行诸如密封包和设置应用程序入口点之类的操作。

## [签名并验证 JAR 文件](signindex.html)

本节介绍如何对 JAR 文件进行数字签名并验证签名 JAR 文件的签名。

## [使用与 JAR 相关的 API](apiindex.html)

本节介绍 Java 平台的一些 JAR 处理功能。 JAR 文件格式是 Java 平台扩展机制的重要组成部分。您可以在本教程的[扩展机制](../../ext/index.html)跟踪中了解有关 JAR 文件的这一方面的更多信息。

## [问题和练习：JAR](QandE/questions.html)

测试你对 JAR 的了解。

## 其他参考文献

Java Development Kit（JDK）的文档包含有关 Jar 工具的信息：

*   [Java Archive（JAR）文件指南](https://docs.oracle.com/javase/8/docs/technotes/guides/jar/index.html)
*   [JAR 文件规范](https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html)