![]() |
1
14
findbugs可以检测循环类依赖项,并且还具有Eclipse插件。 |
![]() |
2
25
好。。。测试后 DepFinder presented above 结果表明,它对于快速检测简单的依赖关系是很好的,但它不能很好地随类的数量而扩展… 所以真正的答案是: CDA - Class Dependency Analyzer 它快速、最新、易于使用,并提供类及其循环依赖项的图形表示。梦想成真;
您必须创建一个工作集,其中只输入类的目录(.class)(不需要有完整的类路径)
|
![]() |
3
4
我们使用 Sonar 检测包装周期。它绘制了一个很好的依赖关系图,并显示哪些依赖关系走向错误。甚至可以导航到使用依赖项的源。 见 http://www.sonarsource.org/fight-back-design-erosion-by-breaking-cycles-with-sonar/ |
![]() |
4
4
也有 Structure101 应该这样做。 |
![]() |
5
4
Highwheel 检测类和包循环,并将依赖项的源向下报告到指示关系类型(继承、组合、方法签名的一部分等)的类/方法/字段级别。 它还将大循环分解为可以单独理解/处理的子元素。 输出是带有嵌入式SVG内容的HTML,需要现代浏览器。 |
![]() |
6
1
你可以使用开源工具 CAP 这是一个Eclipse插件。 Cap有一个图形化的包视图,它将向您显示类的行,因此在单击(取决于圆的大小)之后,您将找到罪犯。 |
![]() |
7
1
第一个可能的答案是…不漂亮。但它开始做我想要的 (更好的解决方案是 presented below ) Dependency Finder ! Download it 解开它。 它不是最现代或最活跃的项目,但是如果您编辑[dependency finder]/bin/dependency finder.bat,添加默认“dependency finder”主页的路径,设置一个Java主页,就可以启动它。 然后单击“提取”按钮(ctrl-e-first按钮),输入类路径,让它扫描掉。 棘手的部分是准确地单击“编程元素”和“闭包”项的正确集合,以避免被结果中的详细级别所淹没。
给你。 每当你看到“<->”时,你就会得到一个很好的 循环依赖 . (如果你在“闭包”侧选择“功能”,你甚至可以知道是什么功能触发了循环——太棒了。) 我准备测试任何其他建议。 |
![]() |
8
0
有一些商业工具:structure101&lattix可用于此目的。 |
![]() |
9
0
一个能做到这一点的工具是软件 tomograph . 它是商业的,用户界面很糟糕:o |