你会推荐什么工具来检测Java 包循环依赖,知道目标是明确列出检测到的“跨包循环”中涉及的特定类?
我知道classycle和JDepend,但它们都没有列出循环包依赖项中涉及的类。Metrics有一个有趣的循环图形表示,但它再次仅限于包,有时很难阅读。
我厌倦了得到一个:
“你在这 3 个包之间有一个包循环依赖关系
,每个包都有 xxx 类,
祝你好运找到正确的类并打破这个循环”
您是否知道任何工具会采取额外步骤来实际向您解释为什么检测到循环(即“列出所涉及的类”)?
Riiight...是时候宣布结果了:
@l7010.de:感谢您的努力。我会投票给你(当我有足够的代表时),特别是对于'CAP'的答案......但是CAP已经死在水中并且不再与我的Eclipse 3.4兼容。其余的都是商业的,我只寻找免费软件。
@daniel6651:谢谢,但如前所述,仅限免费软件(很抱歉一开始没有提到它)。
@izb 作为 findbugs 的频繁用户(现在使用最新的 1.3.5),我只需单击一下就可以接受您的答案...如果您能向我解释有什么选项可以激活 findbug 以检测任何周期。该功能仅在0.8.7 版本中提及(查找“新样式检测器以查找类之间的循环依赖关系”),我无法对其进行测试。更新:它现在可以工作了,我有一个旧的 findbugs 配置文件,其中没有激活该选项。不过我还是喜欢CAD ;)
答案是......在下面看到我自己的(第二个)答案