2012-01-18 78 views
2

我工作的一个大项目,它由许多较小的项目(约140)都是由行家管理。每个单独的项目都有一个主POM和一个POM。Maven构建是成功的,Eclipse的检测周期依赖性

现在我已经引入2个新的小项目,A和B,与依赖性A - > B.此外B依赖于另一个现有项目C,所以B - > C. A用于通过另一个项目d,它是(据我所见)独立于C.我不确定,因为结构非常复杂,我不想坐在那里整日通过poms筛选。

这意味着我有一个依赖图是这样的:d - > A - >乙 - “ç

当我建立在行家主POM(干净的安装)它成功完成。 eclipse也是如此:生成Eclipse项目文件的eclipse目标。当我在Eclipse中刷新项目时,它会重建所有内容并完成错误“在项目的构建路径中检测到循环...”。 140个项目中约有30个出现此错误。 Ofcourse Eclipse不告诉我是什么循环样子......

岂是行家不依赖检测周期,但日食呢?我认为Maven Eclipse插件只是将来自pom的依赖关系映射到Eclipse .project和.classpath文件?

是Maven不抱怨周期的事实告诉我,有没有依赖性Ç - > D.

+0

重要的安全提示。 Maven命令行检测一个反应堆内的周期。如果仅通过激活配置文件来暴露周期,那么当您的eclipse构建可能时,您的命令行构建不会报告错误。如果您尝试调试,请确保激活所有配置文件以包含所有模块(例如mvn -Pcore,buildtools dependency:tree),否则您可能会错过该问题。 – 2012-07-03 18:02:58

回答

1

你可能有范围的测试或运行时依赖。 Maven只在编译阶段查找周期。 Eclipse或m2e不会影响作用域中的依赖关系。

+0

我会检查一下,谢谢。 – zerus 2012-01-19 12:22:25

+0

啊!我忘了将新项目作为模块包含在主POM中。所以不知何故,导致maven找不到这个循环。当我把在Maven的模块定义也抱怨...... 幸运的行家告诉我哪里有周期为和图形怎么样子。我将问题确定为旨在将事物分离的界面。这需要在一个单独的项目中。现在这个循环被破坏了,事情已经解决了:) – zerus 2012-01-19 13:08:27

3

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

0

你可能对你的项目以前的Eclipse的设置,请尝试以下步骤:

  1. 从Eclipse中删除的所有项目。
  2. 运行'mvn clean eclipse:clean''从控制台或删除所有项目文件夹的所有隐藏文件:.project文件,的.classpath,.wtpmodules,org.eclipse.core.resources.prefs,...
  3. 重新导入项目到Eclipse

这可能会解决问题!