查看 jar 包中的文件列表,进行重定向,输出到txt文件
jar -tvf aa.jar > aa.txt
更新文件到 jar 中,目录需对应
jar -uf aa.jar com/aa.class
- aa.class 文件在 jar 包中的目录是 com/aa.class。
- aa.class 文件在本地路径,相对 aa.jar 包,也是 com/aa.class。
增加文件到 jar 中,目录需对应
与修改一致,jar 中原来没有的目录,会自动创建。
jar -uf aa.jar com/test/aa.class
jar -tvf aa.jar > aa.txt
查看 aa.txt 内容会发现 jar 包中自动创建了 com/test/ 目录。
JAR 命令
命令 | 说明 |
---|---|
-c | 在标准输出上创建新归档或空归档。 |
-C | 在执行 jar 命令期间更改目录。jar -uf aa.jar -C classes * 将 classes 目录内的所有文件加到 aa.jar 中,但不添加类目录本身。 |
-f | 第二个参数指定要处理的 jar 文件(文件列表中的第一个元素是要创建或访问的存档文件名字)。在 -c (创建)情形中,第二个参数指的是要创建的 jar 文件的名称(不是在标准输出上)。在 -t (表(或 -x (抽取)这两种情形中,第二个参数指定要列出或抽取的 jar 文件。 |
-i | 应提供的索引信息。 |
-m | 包括指定的现有清单文件中的清单信息(文件列表的第二个元素是外部的清单文件名)。用法举例:jar cmf myManifestFile myJarFile *.class |
-M | 不创建项目的清单文件。 |
-t | 在标准输出上列出内容表(存档文件的内容应制成表格)。 |
-u | 通过添加文件或更改清单来更新现有的 JAR 文件。例如:jar -uf aa.jar aa.class 将文件 aa.class 添加到现有的 JAR 文件 aa.jar 中,而 jar umf manifest foo.jar 则用 manifest 中的信息更新 aa.jar 的清单。 |
-v | 在标准错误输出设备上生成长格式的输出结果(当工具执行时显示的详细信息)。 |
-x[file] | 从标准输入提取所有文件,或只提取指定的文件。如果省略了 file,则提取所有文件;否则只提取指定文件。 |
-0 | 只储存,不进行 ZIP 压缩。 |
解压jar文件
jar xvf aa.jar # 解压jar包