【问题标题】:Maven cyclic dependency when compling tests only - how to resolve easily?仅编译测试时的 Maven 循环依赖 - 如何轻松解决?
【发布时间】:2012-06-13 01:46:43
【问题描述】:

我正在对一个旧项目进行现代化改造,以便与 Maven 一起使用。这个项目非常大,大约有 30 个模块。

就主要源代码而言,我设法让所有的源代码正确编译并建立依赖关系。它确实有效,并且可以通过 Maven 的 tomcat 插件运行。

问题在于编译测试。

不幸的是,这家公司没有对他们的测试代码应用与他们的主要源代码相同的依赖限制。

例如,在主源代码中,C 依赖于 B,而 B 依赖于 A。然而,A 依赖于 C 来运行它的测试。显然,Maven 会抱怨说存在循环依赖。

除了彻底修复代码(遗憾的是,这个项目不会发生 - 它有数千万行),有没有办法告诉 Maven,“请先编译所有主要源代码,然后之后编译所有的测试代码”?或者有没有其他解决这个问题的办法?

谢谢

【问题讨论】:

  • 在获得代码之前它是如何工作的?我能提供的唯一希望是将所有测试代码移到一组单独的模块中,这些模块首先依赖于 A、B、C...

标签: maven configuration build dependencies cyclic-reference


【解决方案1】:

你可能会作弊,玩配置文件,并告诉 Maven 运行一些测试作为集成测试......这将确保所有源代码都将被编译(记住:验证编译测试包集成测试) .

我会寻找 sn-p conf 来指导你,但我现在没有可以使用的。

您也许可以阅读此主题:Maven - separate integration tests from unit tests

这不是一个真正干净的解决方案,但我不知道如何解决它。

【讨论】:

  • 你试过我的建议了吗?我很感兴趣,因为在接下来的几天里我可能会面临同样的问题。
猜你喜欢
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 2021-06-20
  • 2012-03-15
  • 2016-09-21
相关资源
最近更新 更多