1、查看jar中文件
jar -tvf abc.jar
eg.
d: mp est20210619>jar -tvf asm-util-3.2.jar 211 Tue Jul 07 00:05:20 CST 2009 META-INF/MANIFEST.MF 165 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/ASMifiable.class 3701 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/ASMifierAbstractVisitor.class 1908 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/ASMifierAnnotationVisitor.class 6484 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/ASMifierClassVisitor.class 260 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/ASMifierFieldVisitor.class 6518 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/ASMifierMethodVisitor.class 2967 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/AbstractVisitor.class 2068 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/CheckAnnotationAdapter.class 8438 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/CheckClassAdapter.class 1132 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/CheckFieldAdapter.class 1589 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/CheckMethodAdapter$1.class 14241 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/CheckMethodAdapter.class 2879 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/CheckSignatureAdapter.class 1962 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/TraceAbstractVisitor.class 4204 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/TraceAnnotationVisitor.class 6422 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/TraceClassVisitor.class 727 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/TraceFieldVisitor.class 7812 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/TraceMethodVisitor.class 3382 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/TraceSignatureVisitor.class 145 Tue Jul 07 00:05:22 CST 2009 org/objectweb/asm/util/Traceable.class
2、解压jar中文件
// 指定待解压的jar中目录,不指定默认解压整个jar包 jar -xvf abc.jar a/b/c // 仅解压jar包中单个文件 jar -xvf strs-dist-hadoop-prod.jar logback.xml
3、更新jar中文件
// 更新指定目录下的所有文件 jar -uvf abc.jar a/b/c //更新单个文件 jar -uvf strs-dist-hadoop-prod.jar logback.xml
- 文件夹a与abc.jar在同级目录
- 不指定文件夹a/b/c,默认当前目录为待更新的目标目录
- 覆盖更新指定目录的文件,原jar中不涉及的文件不做修改,亦不删除
例如:更新多个目录文件,(m表示包含MANIFEST.MF文件)
jar -uvf kafka_2.10-0.9.0.1.jar abc/* bb/*
4、创建jar包
// 将当前目录下所有文件打包 jar -cvf abc.jar ./*
- 创建jar包abc.jar,如果不存在,如果存在则覆盖
- 可以指定jar的存放路径,执行目录必须是需打包文件的根目录并且文件路径为相对路径
例如:指定多个目录打包,打好的jar包存放在根目录上一级目录
jar -cvf ./../abc.jar ./META-INF/* ./bb/* kk.log LICENSE NOTICE ./kafka/*
转自:https://www.cnblogs.com/defall/p/9384392.html