如何解决Maven的循环依赖?(How to resolve cyclic dependency i

2019-09-02 09:47发布

我们如何解决Maven的循环依赖?

假设A是父项目,B和C是子项目。 如果B是依赖于C和C依赖于B,有没有什么办法来解决比具有不同的项目以外的循环依赖。

Answer 1:

Maven的不允许项目之间循环依赖,否则它是不明确先建哪个项目。 所以,你需要摆脱这种循环。 一个解决方案是,你已经提到的,创建另一个项目。 另外一个是只动的B部分班级为C或反之亦然时,这会有所帮助。 有时它是正确的项目B和C合并成一个项目,如果没有必要有两个。

但不知道和分析为什么你的项目互相依赖它有点难以提出最佳的解决方案。

所以,我建议你可以用这样的工具JDepend或InteliJ分析工具来查找您的问题类和基于这些发现为您的软件更好的设计。

大多数时候,我创造这样的接口模块,并与实现模块,摆脱大多数周期。



Answer 2:

创建一个新的项目确实是一个解决方案。

依赖倒置是第二可能的解决方案。

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

而这里的依赖倒置原则。



文章来源: How to resolve cyclic dependency in Maven?