2012-01-18 77 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

這可能會解決問題!