【问题标题】:Maven multi module circular dependencyMaven多模块循环依赖
【发布时间】:2014-04-15 20:34:18
【问题描述】:

我有一个具有以下依赖项的多模块 maven 项目: 模块-gui -> 模块-业务

每个模块都有自己特定的域对象:
gui 模块 => 查看域对象
业务模块 => 业务领域对象。

对于某些业务逻辑,我必须将视图对象从 gui 模块映射到业务域对象,从业务模块映射到业务模块!
它给我带来了麻烦,因为它会导致 Maven 循环依赖。
module-gui 依赖于 module-business,因此我无法将 module-gui 的依赖添加到 module-business 中以访问 gui 域对象。

我可以将所有域对象移动到一个公共模块中以打破循环依赖,但我认为最好将对象放在正确的模块中(将对象放入视图模块,将业务对象放入业务模块)但也许我完全错了:)。

你知道这类问题是否有好的做法吗?

【问题讨论】:

    标签: maven build module dependencies build-process


    【解决方案1】:

    当您想在许多项目上执行相同的操作时,您应该使用 Maven 多模块,例如compile

    如果您想在一个 Maven 多模块项目中编译所有应用程序层,您必须在模块一致性和构建自动化之间找到一个折衷方案。

    所以我认为,在给定的架构中,您的解决方案是一个很好的折衷方案:声明编译依赖并避免循环依赖,让您可以利用 Maven reactor 对编译模块进行排序,而无需对它们进行排序。

    另一方面,您可以修改架构解耦视图和业务层,使用控制器层将视图域对象转换为业务域对象(视图 --> 业务),并将业务域对象转换为视图域对象(查看

    【讨论】:

      猜你喜欢
      • 2019-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-28
      • 2019-08-21
      相关资源
      最近更新 更多