当前位置:  开发笔记 > 编程语言 > 正文

Java包循环检测:如何查找涉及的特定类?

如何解决《Java包循环检测:如何查找涉及的特定类?》经验,为你挑选了2个好方法。

您会建议使用什么工具来检测Java包循环依赖关系,知道目标是明确列出检测到的"跨包循环"中涉及的特定类

我知道classycle和JDepend,但它们都没有列出循环包依赖中涉及的类.度量标准有一个有趣的循环图形表示,但它再次限于包,并且很难在某些时候阅读.

我厌倦了得到一个:

"你在这3个软件包之间有一个软件包循环依赖关系,
你们每个 好运中都有xxx类
找到合适的类并打破这个循环"

你知道任何工具需要额外的步骤来实际解释为什么检测到循环(即'列出所涉及的类')?


Riiight ...时间宣布结果:

@ l7010.de:谢谢你的努力.我会投票给你(当我有足够的代表时),特别是对于'CAP'答案......但是CAP已经死了,不再与我的Eclipse 3.4兼容了.其余的是商业广告,我只看免费软件.

@ daniel6651:谢谢你,但正如所说,只是免费软件(对不起,首先没有提到它).

@izb作为findbugs的常用用户(现在使用最新的1.3.5),我只需点击一下即可接受你的答案......如果你能向我解释一下有什么选项可以激活findbug以检测任何周期.该功能仅在0.8.7版本中提及(查找' 新样式检测器以查找类之间的循环依赖关系 '),我无法测试它.更新:它现在有效,我有一个旧的findbugs配置文件,其中没有激活该选项.我仍然喜欢CAD ;)

答案是......看下面我自己的(第二个)答案



1> VonC..:

嗯...在测试上面介绍的DepFinder之后,事实证明它很适合快速检测简单的依赖关系,但它不能很好地扩展类的数量...

所以真正的实际答案是: CDA - 类依赖性分析器

它快速,最新,易于使用,并提供类及其循环依赖关系的图形表示.梦想成真 ;)

你必须创建一个工作集,在其中只输入类的目录(.class)(不需要一个完整的类路径)
选项"检测循环依赖 - ALT- C"作为广告工作,不占用100%的CPU几个小时来分析我的468课程.
注意:要刷新工作区,您需要再次打开它(!),以便触发对类的新扫描.

截图



2> izb..:

Findbugs可以检测循环类依赖项,也有一个Eclipse插件.

http://findbugs.sourceforge.net/

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有