1

我正在对一个用于 Maven 的旧项目进行现代化改造。该项目非常大,其中包含大约 30 个模块。

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

问题在于编译测试。

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

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

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

谢谢

4

1 回答 1

1

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

我会寻找片段 conf,以指导您,但我目前没有可以使用的片段。

您也许可以阅读此线程:Maven - 从单元测试中分离集成测试

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

于 2012-06-09T11:01:40.033 回答