Java 有没有办法绕过Maven模块中的循环依赖关系?

Java 有没有办法绕过Maven模块中的循环依赖关系?,java,maven,groovy,Java,Maven,Groovy,我的包中有两个模块,分别称为Module1和Module2Module1依赖于Module2,我更愿意不去管它(我不想破坏的遗留代码的一部分) 有一个类是Module1的一部分,我需要在Module2中使用它-称之为Class1。它周围有几个包装器对象,我不在乎它们是生活在Module1还是Module2中。问题是Module1已经依赖于Module2,因此我无法为Module1上的Module2添加依赖项。是否有任何方法可以访问模块2中的Class1?我怀疑没有,但我不确定如何在没有依赖性的情

我的包中有两个模块,分别称为
Module1
Module2
Module1
依赖于
Module2
,我更愿意不去管它(我不想破坏的遗留代码的一部分)

有一个类是
Module1
的一部分,我需要在
Module2
中使用它-称之为
Class1
。它周围有几个包装器对象,我不在乎它们是生活在
Module1
还是
Module2
中。问题是
Module1
已经依赖于
Module2
,因此我无法为
Module1
上的
Module2
添加依赖项。是否有任何方法可以访问模块2中的
Class1
?我怀疑没有,但我不确定如何在没有依赖性的情况下设计这个特性(我一直在考虑接口、工厂和添加第三个模块)


有没有关于设计的建议,这样就不会发生这种情况?如果重要的话,这是一个Java/Groovy项目。

如果项目中存在循环依赖关系,那么这基本上是由于糟糕的设计或类的逻辑分组问题造成的


如果两个模块在逻辑/功能上相互关联,则可以创建新项目并合并其中的两个模块中的类。您可以使用InteliJ分析工具来查找此类循环依赖类并改进您的设计。

如果您无法拉出导致循环依赖的
模块1
部分,您将陷入困境。您必须接受循环依赖关系,或者对遗留类进行更改。谢谢。我不想重写这段遗留代码,所以我找到了另一种实现更改的方法。@tylk-愿意在回答中分享您使用的方法吗?