也许我只是有一个脑死亡的日子,但是,获取给定目录中所有罐子内容的最简单/最好的方法?
我遇到了类路径/加载器冲突,所以我想要一种方法来获取所有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;
这看起来效果很好,但感觉很笨重。
答案 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期望第一个参数是要查看的存档,后续参数是存档中的入口路径。