linux 手动解压or增加or更新 jar 包中文件

查看 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包

 

猜你喜欢

转载自blog.csdn.net/qingfengxd1/article/details/89409481