Maven构建成功,Eclipse检测依赖关系中的循环

时间:2012-01-18 15:21:03

标签: eclipse maven dependencies project cycle

我正在开展一个大型项目,该项目由许多小型项目(大约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。

3 个答案:

答案 0 :(得分:3)

我有相同的症状,但没有实际的maven周期。我在eclipse Indigo中以一种变通方式解决了这个问题:我关闭并删除了报告此错误的eclipse项目(不删除组成项目的文件),然后通过将源文件导入到我的eclipse中重新创建了maven项目工作区“File-> Import ...-> Maven-> Existing Maven Projects”。这照顾了它。

答案 1 :(得分:1)

您可能与范围测试或运行时具有依赖关系。 Maven只在编译阶段查找周期。 Eclipse或m2e与范围中的依赖关系没有区别。

答案 2 :(得分:0)

您可能在项目中有以前的Eclipse设置,请尝试以下步骤:

  1. 从Eclipse中删除所有项目。
  2. 运行'mvn clean eclipse:clean;'从控制台或删除所有项目文件夹中的所有隐藏文件:.project,.classpath,.wtpmodules,org.eclipse.core.resources.prefs,...
  3. 将项目重新导入Eclipse
  4. 这可能会解决问题!