列出多个 jar 文件的内容
我正在一堆罐子里寻找一个.class文件。
jar tf abc.jar
适用于一个文件。我试过了
find -name "*.jar" | xargs jar tf
不打印任何内容。我能想到的唯一解决方案是全部解压缩,然后搜索。有没有更好的方法?我在LUnix上。
编辑:扫描许多 jar 时,将 jar 文件名与类一起打印非常有用。此方法效果很好:
find . | grep jar$ | while read fname; do jar tf $fname | grep SchemaBuilder && echo $fname; done
生成的示例输出:
1572 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$1.class
1718 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$2.class
42607 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder.class
./XmlSchema-1.3.2.jar
1572 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$1.class
1718 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$2.class
42607 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder.class
./XmlSchema.jar