如何查看给定目录中所有jar的所有内容?

时间:2013-07-31 15:59:47

标签: java jar

也许我只是有一个脑死亡的日子,但是,获取给定目录中所有罐子内容的最简单/最好的方法

我遇到了类路径/加载器冲突,所以我想要一种方法来获取所有jar的全部内容列表以找到我的问题。我知道有一些工具可以帮助解决这个问题,但是对于我的生活,我无法想到它们中的任何一个。

有什么想法吗?

修改
作为参考,这是我一直在做的事情(这是为了可读性而分解,但我只是在一行作为shell脚本完成):

OUTFILE=/tmp/allClasses.txt ; 
touch $OUTFILE; 
for file in *.jar; 
do echo " === $file " >> $OUTFILE; 
jar -tf $file >> $OUTFILE; 
done;

这看起来效果很好,但感觉很笨重。


供参考,以下是我一直在做的事情: touch /tmp/allClasses.txt ; for file in *.jar ; do echo " === $file " >> /tmp/allClasses.txt ; jar -tf $file >> /tmp/allClasses.txt ; done;

这看起来效果很好,但感觉很笨重。

4 个答案:

答案 0 :(得分:2)

使用Winrar或7zip

打开jar文件作为存档

答案 1 :(得分:1)

jar xf jar-file提取JAR文件的内容。

答案 2 :(得分:0)

一个jar文件只是一个zip文件(压缩与否),您甚至可以将其扩展名从jar改为zip并解压缩

答案 3 :(得分:0)

zipinfo可以一次列出几个zip(或JAR)文件的内容:

zipinfo \*.jar

诀窍是逃避*所以zipinfo本身展开通配符而不是展开它的shell然后将展开的列表传递给zipinfo(这不适用于zipinfo期望第一个参数是要查看的存档,后续参数是存档中的入口路径