我目前正在重构一个大的Java应用程序。我将中央(Eclipse)项目中的一个划分为大约30个单独的“组件”,但它们依然严重相互依赖。为了更好地了解什么取决于我所寻找的某种方式来绘制编译时依赖关系。如何可视化jar(不是插件)依赖关系?
到目前为止我发现的所有工具都能够绘制包或类依赖关系或Eclipse插件之间的依赖关系,但是我想到的应该只是查看每个Eclipse项目的类路径设置并构建较粗糙的粒度从那个图表。
后来我会再深入一点,但是现在这意味着我无法看到所有树木的森林。
我目前正在重构一个大的Java应用程序。我将中央(Eclipse)项目中的一个划分为大约30个单独的“组件”,但它们依然严重相互依赖。为了更好地了解什么取决于我所寻找的某种方式来绘制编译时依赖关系。如何可视化jar(不是插件)依赖关系?
到目前为止我发现的所有工具都能够绘制包或类依赖关系或Eclipse插件之间的依赖关系,但是我想到的应该只是查看每个Eclipse项目的类路径设置并构建较粗糙的粒度从那个图表。
后来我会再深入一点,但是现在这意味着我无法看到所有树木的森林。
我相信会做你想做的一件工具是Understand。这不是免费的,但您可以在投入任何资金之前下载免费试用版。
我不确定是否有(n Eclipse)类路径分析工具。
可能会理解mentioned by MattK可以提供帮助。
我会从static code analysis tool referenced here中选出的最接近的是JarAnalyzer(虽然没有图表),能够在罐子中检测到“Physical dependencies”。
结帐JBoss Tattletale。它可能不是你所要求的,但值得一试。尽管如此,它还是比较新的。
该工具将为您提供报告,可以帮助你
备案(和提高这方面的知识基础),我发现虾非常有帮助: http://www.thechiselgroup.org/shrimp
而且,为了方便依赖检查,Byecycle值得一试,但似乎不再更新: Byecycle
这两个工具还提供了Eclipse集成。
虾项目页面说它重试。 Byecycle链接已损坏。 – s10z 2017-03-21 12:33:58
退房类依赖分析仪(CDA):http://www.dependency-analyzer.org/
我已经找到了整理罐子它非常有用。
听起来像Degraph的用例。它分析了一堆类文件和jar,并可视化依赖关系。
什么使它适合你的用例(我认为)是定义任意类的组合的可能性。所以你可以重现你的jar结构,看到依赖关系,尤其是循环依赖关系。
您可以展开组以查看其包含的类或折叠它们以简化视图。
想要快速的印象什么是可能的,看看Degraph Examples。
为Log4j的实施例:
JDeps已经包含在JDK,并且示出JAR依赖性。例如:
jdeps -R -cp "my\jar\dir\*;my\other\jar\dir\*" my\classes\dir
图片链接已死 – 2017-09-07 09:18:15
链接已修复,谢谢旗下的Andrius。 – 2017-11-03 10:55:56