3

我有两个相互依赖的项目。

假设项目 maven1 有一个类 A,项目 maven2 有一个对 B 类的引用。我基本上想要的是我可以编译和测试项目 maven2,所以我添加了 maven1 作为它的依赖项并将范围设置为提供,因为我没有想要包含 maven1 (如果我将范围放在编译范围内,例如将它放在一边) 在项目 maven1 中,我添加了项目 maven2 作为范围“编译”的依赖项,因为我希望它在运行时包含在内。

在eclipse中,我收到一条错误消息:

A cycle was detected in the build path of project 'maven2'. The cycle consists of projects {maven1, maven2} 

此外,它似乎会导致 eclipse 出现一些问题,但我通常想问一下我的配置是否有效。

感谢帮助!

4

1 回答 1

7

这是一个称为循环依赖的问题。

要解决这个问题,您应该创建第三个 maven 项目并将公共代码重构为第三个项目(我们将其命名为 common)。

在此之后,您的 maven1 和 maven2 项目都将依赖于 common。

于 2013-09-19T09:15:12.350 回答