2012-08-09 70 views
1

我有Maven Java項目編譯罰款在命令行,但是當我在Eclipse中導入我收到有關CollectionUtils編譯錯誤。如何追蹤eclipse中編譯錯誤的錯誤?

org.apache.commons.collections.CollectionUtils 

似乎該項目有傳遞依賴關係,它具有舊版本的apache commons集合的引用。 如何跟蹤確切的錯誤? 如何解決? 謝謝。

回答

0

如何精確跟蹤錯誤?怎麼修?

調用

mvn clean compile -e 

它會給你錯誤的堆棧跟蹤,這將有助於你解決這個錯誤

+0

從命令行或我的eclipse maven插件項目編譯罰款=沒有錯誤的問題。但eclipse編譯器會產生錯誤! – user710818 2012-08-09 09:23:58

+0

eclipse編譯器? – 2012-08-09 10:02:17

1

我看來像在Eclipse中的類路徑(.classpath文件)配置不正確。你可以通過使用Maven Eclipse Plugin讓maven爲你配置它。簡單地執行從以下命令行:然後

mvn eclipse:eclipse 

Maven將正確填寫的.classpath文件在你的POM中定義的所有依存關係(包括傳遞依賴)。然後刷新Eclipse中的項目,所有的紅十字會消失(希望...)

+0

還要確保你在eclipse中使用的是與你在命令行中相同版本的Maven。 Maven 2和Maven 3以不同方式解決依賴關係。 – user944849 2012-08-09 15:56:07

2

也許你可以通過發佈mvn dependency:tree找出你的pom中的哪個依賴項正在拉動舊版本的Apache公用。

另外,在Eclipse中,當你打開pom.xml文件(安裝了m2e插件),你應該看到的依賴關係樹標籤在編輯器的底部,像這樣:

enter image description here

搜索字段中,您可以鍵入apache commons jar的名稱以找出哪個依賴關係正在將其拉入。一旦您添加了適當的排除,請將其添加應該都是桃色的。

問題

你怎麼導入在Eclipse中Maven項目。你做了一個mvn eclipse:eclipse然後導入它作爲一個正常的eclipse項目?如果是這樣,我會建議安裝m2e插件(上面鏈接),然後使用eclipse中的Import Existing Maven Project導入maven項目。