2011-09-30 50 views
3

我已將現有的Maven項目導入到Eclipse IDE中。我修改了一些代碼並在Eclipse中構建了該項目。沒有生成錯誤。Maven項目在Eclipse中成功構建,但在cmd提示中顯示編譯錯誤

但是,當我從命令提示符運行mvn clean install時,它顯示了很多編譯錯誤。爲什麼Eclipse不顯示錯誤,而Maven顯示編譯錯誤?

+1

這些錯誤是什麼? – Thilo

+0

它與我們的應用程序特定相關,例如某個類未找到符號。我已經在Eclipse中使用Ctrl + Shift + T – Pawan

+0

來檢查該類是否存在。您可以通過以下信息來擴展您的問題:eclipse版本,安裝了m2e或m2eclipse(或者根本沒有),如何在eclipse中進行構建,你有沒有在m2e中配置你想使用的Maven?所有這些都與可能的原因有關...... – mliebelt

回答

5

Eclipse沒有maven scopes的概念。而maven將根據範圍具有不同的類路徑--eclipse將只有一個類路徑集。

恕我直言,我不信任m2eclipse的構建 - 讓它協助開發。

+3

對於'我不信任m2eclipse的構建版本'+1 –

+0

所以,你的意思是說,總是從命令提示符運行mvn clean install,而不是從Eclipse IDE運行? – Pawan

+0

這取決於你。我建議像jenkins這樣的連續構建服務器來運行你的單元和集成測試。如果您要修改依賴項,請使用mvn clean install -DskipTests = true -pl changedmodule -am && mvn -o clean verify -pl changedmodule – TJR

1

以TJR的回答爲基礎,我想給出一個剛剛發生在我身上的具體例子。

我也有一個在Eclipse中「工作」的構建,但是在命令行上出現很多Java編譯器錯誤。 (謝天謝地,我在發佈之前總是使用'​​mvn clean install'進行測試。)

在我的情況中,我構建了一些自定義的hamcrest匹配器,但我的POM中的hamcrest依賴項設置爲:<scope>test</scope>刪除此作用域限制修復了我的錯誤。

似乎像m2e仍然需要更多的工作。

相關問題