我目前正在重构一个大型Java应用程序。我将其中一个中心(Eclipse)项目拆分为大约30个单独的“组件”,但它们仍然是相互依赖的。为了更好地了解取决于我正在寻找什么方式来绘制编译时依赖性。
到目前为止我找到的所有工具都能够绘制包或类依赖关系或Eclipse插件之间的依赖关系,但是我想到的只是看看每个Eclipse项目的类路径设置并构建一个粗粒度的图形从那起。
稍后我会更深入,但是现在这只是意味着我无法看到所有树木的森林。
答案 0 :(得分:8)
结帐JBoss Tattletale。它可能没有你要求的所有,但值得一试。但它仍然相对较新。
该工具将为您提供可以帮助您的报告
答案 1 :(得分:3)
我认为可以做你想做的工具是Understand。它不是免费的,但您可以在投入任何资金之前下载免费试用版。
答案 2 :(得分:3)
答案 3 :(得分:3)
答案 4 :(得分:2)
我不确定是否有(n个Eclipse)类路径分析工具 可能会理解mentioned by MattK可以提供帮助。
我会在所有static code analysis tool referenced here中选择最接近的JarAnalyzer(尽管没有图表),能够在罐子中检测到“Physical dependencies”。
答案 5 :(得分:2)
听起来像Degraph的用例。它分析了一堆类文件和jar,并可视化依赖关系。
什么使它适合您的用例(我认为)是可以定义要捆绑在一起的任意类组。因此,您可以重现jar结构,查看依赖关系,尤其是循环依赖关系。
您可以展开组以查看其包含的类或折叠它们以简化视图。
为了快速展示可能性,请查看Degraph Examples。
Log4j的示例:
答案 6 :(得分:2)
JDeps已包含在JDK中,并显示JAR依赖项。例如:
jdeps -R -cp "my\jar\dir\*;my\other\jar\dir\*" my\classes\dir
答案 7 :(得分:1)
查看类依赖性分析器(CDA):http://www.dependency-analyzer.org/
我发现它对于整理罐子非常有用。
答案 8 :(得分:0)
为了记录(以及为了改进这个知识库),我发现Shrimp非常有帮助: http://www.thechiselgroup.org/shrimp
此外,为了便于依赖检查,Byecycle值得一试,但似乎不再更新: Byecycle
这两个工具还提供Eclipse集成。