对多模块 maven 项目的循环依赖



在过去的几周里,我一直在用java编写一个非常简单的区块链,作为Intellij的一个maven项目。当我开始这个项目时,我对驻留在单个模块中的所有内容都没问题,即使从技术上讲,需要构建两个工件才能使项目工作(应用程序/控制逻辑的可执行.jar和通过tomcat容器部署的所有p2p内容的.war)。我使用单独的配置文件来构建.jar和.war,并手动执行/部署它们。

然而,我已经厌倦了这个,并相信将其拆分为一个多模块项目(.war,.jar和.ear?也许是实现我的目标的唯一方法,即能够使用单个命令一次构建和执行/部署所有内容。我已经开始这样做了,但对两个子模块之间的循环依赖关系感到困惑。我在应用程序端有依赖于网络端的代码,在网络端有依赖于应用程序端的代码。如何通过创建另一个模块来解决此问题,从而创建另一个pom.xml?任何建议将不胜感激!请耐心等待,因为我仍然是java/maven的新手,这是我第一次真正破解具有任何复杂程度的应用程序。

当子模块 c1 和 c2 相互依赖时,这意味着一个或多个类,那么公共包应该在单独的模块 C3 中。在 c1 和 c2 项目中将 c3 添加为依赖项。

不能在 C2中添加 C1 作为依赖项,在 C1 中添加 C2 作为依赖项。因为当 maven 尝试分析你的代码时,由于这种循环依赖,它找不到首先构建哪个模块。

相关内容

  • 没有找到相关文章

最新更新