3

也许我只是脑残了一天,但是,获取给定目录中所有 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

4 回答 4

2

使用 Winrar 或 7zip 将 jar 文件作为存档打开

于 2013-07-31T16:01:44.213 回答
1

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

于 2013-07-31T16:01:58.883 回答
0

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

于 2013-07-31T16:04:02.217 回答
0

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

zipinfo \*.jar

诀窍是逃避*sozipinfo本身扩展通配符,而不是 shell 扩展通配符,然后将扩展列表传递给zipinfo(这不起作用,因为 zipinfo 期望第一个参数是要查看的存档,而后续参数是 entry该档案中的路径) 。

于 2013-07-31T16:05:56.633 回答