maven - 两个相互依赖的 Maven 项目

标签 maven

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

假设项目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 出现一些问题,但我通常想问一下我的配置是否有效。

感谢帮助!

最佳答案

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

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

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

关于maven - 两个相互依赖的 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890562/

相关文章:

java - 多模块项目中 Sonar 覆盖范围始终为 0

java - 让 Maven 父项目在部署任何模块之前测试所有模块

maven - "Build step ' 调用顶级 Maven 目标 ' marked build as failure"错误

Maven 未授权,ReasonPhrase :Unauthorized

当使用来自 bintray 的原型(prototype)时,Maven 报告 'The desired archetype does not exist'

java - 如何从 Web 项目中存在的依赖项 jar(使用 maven)中排除包?

inheritance - Maven 继承和聚合示例架构

java - Maven 3 Eclipse Kepler 是否需要有环境变量才能用于嵌入式 Maven?

java - 如何在 Cucumber 中执行并行测试

perl - 将 CruiseControl 转换为 Hudson