用于在Java jar中查找所有依赖项的工具

时间:2011-05-19 11:40:40

标签: java classloader

是否有任何工具可以提供类路径或文件夹,并搜索所有.jar文件以查找对特定类的引用?

为了解决this kind of problem,我本可以节省一天的时间。

在我的情况下,我必须找出一个类的流氓引用来自哪里,因为它阻止JBoss由于NoClassDefFoundError而正确启动。我想我正在寻找这个:

java -jar magicbullet.jar /path/to/search com.myproject.DodgyClass
Searching...
com.problematic.Otherclass in /path/to/search/dodgy.jar implements com.myproject.DodgyClass

或类似的。如果没有,我会写一个。

3 个答案:

答案 0 :(得分:4)

使用Tattletale - http://www.jboss.org/tattletale。它可以帮助您创建一个非常方便搜索类等的索引。

答案 1 :(得分:3)

在Linux(或Windows上的Cygwin)下,您可以使用https://gist.github.com/980697中的脚本。

用法:findclass.sh <directory> <className>

示例:findclass.sh . ClassName(表示“在当前目录及其所有子目录中的所有jar / wars / ears / sars中搜索名为ClassName的类”)

答案 2 :(得分:0)

Google为“JarAnalyzer”提供了一个有用的工具,可以更准确地完成您想要的工作(还有更多; D)