Java Intellij依赖项查看器和包循环依赖项
在我的编程生涯中,我一直认为循环依赖性如下:Java Intellij依赖项查看器和包循环依赖项,java,intellij-idea,dependencies,Java,Intellij Idea,Dependencies,在我的编程生涯中,我一直认为循环依赖性如下: 给定的 包装1 包装2 子包2 包装3 如果 package1中的类引用package2中的类 来自package2的类引用来自package3的类 package3中的类引用package1中的类 然后 项目包含循环依赖项package1>package2>package3>package1 当Intellij的dependency viewer告诉我: 如果 package1中的类引用package2中的类 子包2中的类引用了包3中的类
给定的
- 包装1
- 包装2
- 子包2
- 包装3
项目包含循环依赖项package1>package2>package3>package1 当Intellij的dependency viewer告诉我: 如果
项目包含循环依赖项package1>package2>package3>package1
请任何人解释一下循环依赖的严格定义是什么,Intellij为什么会显示出如此奇怪的结果?谢谢。依赖项是可传递的,因此由于依赖子包2,而子包2又依赖于package3,因此package2本身依赖于package3,从而形成与示例1完全相同的图。我更惊讶的是,其他工具没有将其视为一个圆,因为IntelliJ在这里是正确的。您的意思是说,您的第一个示例在IntelliJ的视图中不符合循环依赖关系的条件吗?或者你对第二个例子感到惊讶吗?@kaqao第二个。我很惊讶Intellij将第二个示例视为循环依赖项。好吧,依赖项是可传递的,因此由于依赖于子包2,而子包2又依赖于package3,因此package2本身依赖于package3,从而形成与示例1完全相同的图。我更惊讶的是,其他工具没有将其视为一个圆。为什么你认为这些例子根本不同?@kaqqao:这应该是答案。问题是模糊的,一个人不能超越你们的断言。@Jayan不知道为什么你们觉得这很模糊。显然,检查循环依赖性的工具之间存在误解。他们的结果不一样。实际的问题实际上是在我们的内部工具中,它只显示直接循环和跳过传递循环。所以当旧的jdepend和我们的内部工具有相同的结果时,我真的很惊讶。谢谢你的指点帮助!