jar 常用操作
查看 jar 包中的文件列表,并进行重定向
jar -tvf a.jar > a.txt
更新文件到 jar 中,目录需对应
jar -uf a.jar com/a.class
- a.class 文件在 jar 包中的目录是 com/a.class。
- a.class 文件在本地路径,相对 a.jar 包,也是 com/a.class。
-rw-r--r--. 1 root root 5418 Aug 9 23:59 a.jar
drwxr-xr-x. 3 root root 19 Oct 10 01:58 com
增加文件到 jar 中,目录需对应
与修改一致,jar 中原来没有的目录,会自动创建。
jar -uf a.jar com/test/a.class
jar -tvf a.jar > a.txt
查看 a.txt 内容会发现 jar 包中自动创建了 com/test/ 目录。
JAR 命令
命令 | 说明 |
---|---|
-c | 在标准输出上创建新归档或空归档。 |
-C | 在执行 jar 命令期间更改目录。jar -uf a.jar -C classes * 将 classes 目录内的所有文件加到 a.jar 中,但不添加类目录本身。 |
-f | 第二个参数指定要处理的 jar 文件(文件列表中的第一个元素是要创建或访问的存档文件名字)。在 -c (创建)情形中,第二个参数指的是要创建的 jar 文件的名称(不是在标准输出上)。在 -t (表(或 -x (抽取)这两种情形中,第二个参数指定要列出或抽取的 jar 文件。 |
-i | 应提供的索引信息。 |
-m | 包括指定的现有清单文件中的清单信息(文件列表的第二个元素是外部的清单文件名)。用法举例:jar cmf myManifestFile myJarFile *.class |
-M | 不创建项目的清单文件。 |
-t | 在标准输出上列出内容表(存档文件的内容应制成表格)。 |
-u | 通过添加文件或更改清单来更新现有的 JAR 文件。例如:jar -uf a.jar a.class 将文件 a.class 添加到现有的 JAR 文件 a.jar 中,而 jar umf manifest foo.jar 则用 manifest 中的信息更新 a.jar 的清单。 |
-v | 在标准错误输出设备上生成长格式的输出结果(当工具执行时显示的详细信息)。 |
-x[file] | 从标准输入提取所有文件,或只提取指定的文件。如果省略了 file,则提取所有文件;否则只提取指定文件。 |
-0 | 只储存,不进行 ZIP 压缩。 |
作者:羽杰
链接:https://www.jianshu.com/p/86c744e6bf9f
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。