【问题标题】:maven cyclic dependency with test scope具有测试范围的maven循环依赖
【发布时间】:2026-02-12 22:25:01
【问题描述】:

我们有一个 ProjectB(仅主要,不是测试)依赖于 ProjectA。 ProjectA 的测试(不是主要的)依赖于 ProjectB。我们已经为每个项目生成了两个单独的工件(主要和测试 jar)。所以这里真的没有循环依赖,但是 maven 抱怨循环依赖。我想知道是否有办法在 maven 中判断这真的不是循环依赖。

在 ProjectA 中,我们有 ProjectB 的“测试”范围的依赖部分,因为只有 ProjectA 测试依赖于 ProjectB。

【问题讨论】:

标签: maven circular-dependency


【解决方案1】:

Maven 将模块构建为一个整体,因此您不能拥有:

Building Project A (main)
Building Project B (main)
Building Project A (test)
Building Project B (test)

您可以将代码分组到一个项目中,也可以创建第三个项目,其中包含项目 A 和 B 的所有通用代码。

【讨论】:

  • 您好纪尧姆,感谢您的回复。这就是我们现在正在做的事情,但我希望通过配置 maven 来避免它,因为在我的情况下对 jar 没有循环依赖。我找不到配置 maven 的方法,所以我们决定重构。