【问题标题】:How to view all contents of all jars in a given directory?如何查看给定目录中所有 jar 的所有内容?
【发布时间】:2013-08-01 06:23:39
【问题描述】:

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

这似乎工作得很好,但感觉很笨重。

【问题讨论】:

标签: java jar


【解决方案1】:

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

【讨论】:

  • 我知道您可以使用 zip 工具打开一个 jar,但我不知道有一个工具可以让您一次轻松提取有关大量文件内容的信息。跨度>
【解决方案2】:

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

【讨论】:

  • 确实如此,是的。 OP 已被编辑以显示我现在正在做什么(使用与此类似的东西),但我正在寻找一种更有效的方法来处理大量文件。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

    zipinfo \*.jar
    

    诀窍是转义*,因此zipinfo 本身扩展通配符而不是shell 扩展它,然后将扩展列表传递给zipinfo(这不起作用,因为zipinfo 期望第一个参数是要查看的存档以及后续参数是该存档的入口路径)。

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      相关资源
      最近更新 更多