魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Package - Oracle JDK - 终端命令 - jar

文章摘要: 创建和管理 Java 存档 (JAR) 文件。

简介

  • 基于 ZIP 和 ZLIB 压缩格式的通用存档和压缩工具。
  • 用于将 Java 小程序或应用程序打包到单个存档中。
  • 当 applet 或应用程序的组件(文件、图像和声音)组合到单个存档中时,它们可以由 Java 代理(例如浏览器)在单个 HTTP 事务中下载,而不需要为每个部分建立新连接。这大大缩短了下载时间。
  • 可以压缩文件,从而进一步缩短下载时间。
  • 允许 applet 作者对文件中的各个条目进行签名,以便可以验证其来源。
  • JAR 文件可以用作类路径条目,无论它是否经过压缩。

注释

jar 命令的语法类似于 tar 命令的语法。它有几种操作模式,由其中一个 mandatory operation 参数_定义。其他参数是修改操作行为_的选项,或者是执行操作所需的_操作数_。

格式

提示

jar c[efmMnv0] [entrypoint] [<jarfile>] [manifest] [-C <dir>] <file> ... [-J<option> ...] [@arg-file ...]:创建JAR文件。

jar u[efmMnv0] [entrypoint] [<jarfile>] [manifest] [-C <dir>] <file> ... [-J<option> ...] [@arg-file ...]:更新JAR文件。

jar x[vf] [<jarfile>] <file> ... [-J<option> ...] [@arg-file ...]:提取JAR文件。

jar t[vf] [<jarfile>] <file> ... [-J<option> ...] [@arg-file ...]:列出JAR文件的内容。

jar i <jarfile> [-J<option> ...] [@arg-file ...]:向JAR文件添加索引。

操作选项

  • c:创建新的 JAR 存档。
  • i:生成 JAR 存档的索引信息。
  • t:列出 JAR 存档的内容。
  • u:更新 JAR 存档。
  • x:从 JAR 存档中提取文件。

option选项

  • -e: 指定入口点类,用于创建可执行的 JAR 文件。
  • -f: 指定 JAR 文件的名称。
  • -m: 包含指定的 manifest 文件中的属性。
  • -M: 创建或更新 JAR 文件时不自动生成 manifest 文件。
  • -n: 归档规范化,确保 pack200 压缩/解压缩后签名有效。
  • -v: 生成详细输出。
  • -0: 创建或更新 JAR 文件时不使用 ZIP 压缩。
  • -C: 在处理文件之前更改目录。

参数

  • file: 指定要添加到 JAR 文件中的文件或目录。
  • entrypoint: 指定 JAR 文件的入口点类。
  • jarfile: 指定 JAR 文件的名称。
  • manifest: 指定包含属性的 manifest 文件。

案例

# 创建 JAR 文件
# 将创建一个名为 `myapp.jar` 的 JAR 文件,包含当前目录下的所有 `.class` 文件
jar cf myapp.jar *.class

# 创建可执行的 JAR 文件
# 将创建一个名为 `myapp.jar` 的可执行 JAR 文件,其中 `com.example.Main` 是入口点类
jar cfe myapp.jar com.example.Main com/example/Main.class

# 更新 JAR 文件
# 将更新 `myapp.jar` 文件,添加 `newfiles` 目录下的所有文件
jar uf myapp.jar -C newfiles .

# 列出 JAR 文件内容
# 将列出 `myapp.jar` 文件中的所有文件
jar tf myapp.jar

# 提取 JAR 文件
# 将从 `myapp.jar` 文件中提取所有文件
jar xf myapp.jar

# 为 JAR 文件添加索引
# 将为 `myapp.jar` 文件添加索引信息,以便于快速访问
jar i myapp.jar

# 使用 manifest 文件
# 将创建一个名为 myapp.jar 的 JAR 文件,并包含 manifest.mf 文件中的 manifest 信息
jar cmf manifest.mf myapp.jar *.class
更新时间: 2025/10/25 12:23