如何解决maven循环依赖

我们如何解决maven循环依赖。 假设A是父项目,B和C是子项目。 如果B依赖于C并且C依赖于B,除了有不同的项目之外,还有什么办法可以解决循环依赖问题。

在此先感谢,我在论坛中search,但无法得到确切的解决scheme。 请让我知道是否有任何可能。

Maven不允许项目之间的循环依赖,因为否则不清楚哪个项目要先构build。 所以你需要摆脱这个循环。 一个解决scheme就是你已经提到的那个,来创build另一个项目。 另外一个方法就是把一些类从B移到C,反之亦然。 或者,如果不需要两个项目,有时将项目B和C合并到一个项目是正确的。

但是,如果不知道和分析为什么你的项目相互依赖,build议最好的解决scheme是很难的。

所以我build议你可以使用JDepend或InteliJ分析工具等工具来查找有问题的类,并根据它们为你的软件find更好的devise。

大多数情况下,我创build了一个类似于接口模块和实现模块的东西,从而摆脱了大部分周期。

创build一个新项目确实是一个解决scheme。

依赖倒置是第二个可能的解决scheme。

请参阅这里的非循环依赖原则。

这里是依赖倒置原则。