我正在开展一个大型项目,该项目由许多小型项目(大约140个)组成,这些项目都由maven管理。每个项目都有一个主pom和一个pom。
现在我介绍了2个新的小项目A和B,其依赖关系A - > B.此外,B依赖于另一个现有项目C,因此B - > C. A被另一个项目D使用(据我所见),独立于C.我不确定,因为结构非常复杂,我不想坐在那里整天透过poms过滤。
这意味着我有一个这样的依赖图:D - > A - > B - > ç
当我在maven(干净安装)中构建主pom时,它成功完成。 eclipse也是如此:生成Eclipse项目文件的eclipse目标。当我在Eclipse中刷新项目时,它会重建所有内容并完成错误“在项目的构建路径中检测到循环...”。在140个项目中的大约30个中发生此错误。 Ofcourse Eclipse并没有告诉我循环是什么样的......
怎么可能maven没有检测到依赖关系中的循环但是eclipse呢?我认为Maven Eclipse插件只是将pom中的依赖项映射到Eclipse .project和.classpath文件?
Maven没有抱怨周期这一事实告诉我没有依赖关系C - > d。
答案 0 :(得分:3)
我有相同的症状,但没有实际的maven周期。我在eclipse Indigo中以一种变通方式解决了这个问题:我关闭并删除了报告此错误的eclipse项目(不删除组成项目的文件),然后通过将源文件导入到我的eclipse中重新创建了maven项目工作区“File-> Import ...-> Maven-> Existing Maven Projects”。这照顾了它。
答案 1 :(得分:1)
您可能与范围测试或运行时具有依赖关系。 Maven只在编译阶段查找周期。 Eclipse或m2e与范围中的依赖关系没有区别。
答案 2 :(得分:0)
您可能在项目中有以前的Eclipse设置,请尝试以下步骤:
这可能会解决问题!