jar 命令选项说明
主要操作模式(必须指定一个)
| 选项 | 描述 | 备注 |
|---|---|---|
| c | 创建新的 JAR 文件 | c 创建 |
| t | 列出 JAR 文件的内容 | r 查看 |
| x | 从 JAR 文件中提取文件 | r 读取 |
| u | 更新现有的 JAR 文件 | u 更新 |
通用选项
| 选项 | 描述 | 备注 |
|---|---|---|
| f | 指定 JAR 文件名 | |
| v | 在标准输出中生成详细输出 | |
| 0 | 仅存储,不使用 ZIP 压缩 | |
| M | 不创建条目的清单文件 | |
| m | 包含指定清单文件中的清单信息 | |
| e | 为捆绑到可执行 JAR 文件的独立应用程序设置应用程序入口点 | |
| -C dir | 更改为指定的目录并包含其中的文件 |
列出jar内容
# 列出指定jar
jar tf myapp.jar
jar tf myapp.jar | grep xxx
提取jar内容
# 列出指定jar
jar xf myapp.jar
# 提取指定文件
jar xf myapp.jar com/example/Main.class
创建jar
# 基本创建
jar cf myapp.jar com/
# 创建并显示详细输出
jar cvf myapp.jar com/
# 创建不压缩的 JAR
jar cvf0 myapp.jar com/
# 创建带自定义清单的 JAR
jar cvfm myapp.jar manifest.txt com/
# 创建可执行 JAR
jar cvfe myapp.jar com.example.Main com/
常用场景说明
- 更新指定class文件
# 1. 解压
jar xvf myapp.jar
# 2. 替换指定class文件
# 3. 重新打包,将当前目录打包成为jar
jar cf myapp.jar .
# 4. 修改MANIFEST.MF
vim myapp.jar
搜索MANIFEST.MF
更新MANIFEST.MF