Dependency Walker for Java?

时间:2010-06-23 00:35:59

标签: java class dependencies

我正在寻找一个工具,列出要运行的给定Java类的.class依赖项。有点像Dependency Walker对Windows应用程序的作用。

我知道一些工具,但它们过于复杂或不太匹配,包括

有什么建议吗? TIA !!

2 个答案:

答案 0 :(得分:3)

JVM只会加载程序中实际引用的类。因此,您可能无法通过修剪依赖项来减少运行时内存消耗。如果您在减少程序大小以简化部署之后,可以使用它来检测实际需要哪些类:只需在启用VM的类加载日志记录的情况下运行应用程序,日志文件将列出所有使用的类。

例如,对于Sun JVM,您将添加VM参数-verbose:class,即按如下方式启动应用程序:

java -verbose:class -cp thejarfiles package.Main password

并对日志进行后处理以提取所有类名。

(当然这种方法假定程序的每次执行都使用相同的类,这可能就是“简单的CLI实用程序”)

答案 1 :(得分:1)

虽然你已经接受了答案,但我想提一下你可能想看看CodePro AnalytiX - 一个允许代码分析的Eclipse插件,包括依赖性分析。