2011-08-27 68 views
1

这让我头疼......循环依赖,鸡和鸡蛋

我有一个叫做“talktome”项目,没有运行时依赖。

另外我有项目'talktome-tools',这取决于'talktome'。

没有问题,直到我意识到'talktome'中的单元测试依赖于'talktome-tools'。

有什么解决方案?

回答

3

如果talktome是其他(如talktome-tools)所依赖的一般项目,则不应该依赖于更具体的项目。那么,摆脱talktome对talktome-tools的依赖是明智的。

否则,您将创建一个更高级别的项目(例如父项),并将必要的接口,可由talktome和talktome-tools用于新项目的类。

1

您可以将测试移动到另一个maven模块,如talktome-tests将进行集成测试。这很有意义,特别是talktome似乎不应该依赖像talktome-tools这样的具体项目。

而且,像talktome-tools这样的测试依赖关系应该包含​​在测试范围内。