我所有的编程生涯我一直在想循环依赖如下:
GIVEN
IF
,然后
项目包含循环依赖包1> package2> package3>包1。
当Intellij的依赖观察者告诉我时,这是一个非常大的惊喜:
IF
,然后
项目包含循环依赖包1> package2> package3>包1。
请问任何人,请解释一下循环依赖的严格定义是什么?为什么Intellij会显示如此奇怪的结果?感谢。
答案 0 :(得分:4)
依赖关系是传递性的,因此依赖于subpackage2,而subpackage2依赖于package3,package2本身依赖于package3,因此形成了与示例1完全相同的图形。我对其他工具感到惊讶不要将其视为一个圆圈,因为IntelliJ在这里是正确的。