2010-12-23 67 views
4

我在Eclipse中使用m2eclipse插件,以便導入Maven項目。該插件讀取pom.xml,並以Eclipse友好的方式對項目中的依賴關係進行排序,所以我沒有看到大量的引用和錯誤。如何停止m2eclipse插件干擾命令行mvn構建?

我使用Eclipse進行代碼開發,但我通常從命令行構建項目,例如, 「mvn乾淨安裝」。

不幸的是,當我這樣做時,m2eclipse會檢測磁盤活動並嘗試重建工作區。這會干擾命令行構建,有時會導致競爭狀況。例如,命令行可能處於清理階段,但會失敗,因爲它會嘗試刪除在工作空間重建過程中被鎖定的文件或目錄。除了那個工作空間重建速度非常慢之外,在失敗的構建和浪費CPU之間,我的構建過程比應該長2-3倍。

它不是不使用Eclipse一個選項(例如使用的Netbeans),或禁用m2eclipse的。除了這種行爲,它是一個有用的插件。

所以我的問題是,如何從重建工作區所有的時間停止m2eclipse的?我可以調用手動刷新,否則禁用此行爲?

回答

2

作爲速戰速決,你可以禁用自動Eclipse構建取消勾選Project > Build Automatically

0

的問題是,Eclipse的檢測編譯資源都走了,並開始重建。

您不應該執行mvn clean install,而是mvn install,因爲您的所有資源都已更新。

+0

插件確實,當我做了一個「MVN安裝」工作區重建甚至 – locka 2010-12-23 10:29:08

+0

嗯,這取決於你的POM以及。你可以發佈嗎?否則,您應該向M2Eclipse報告錯誤:https://issues.sonatype.org/browse/MNGECLIPSE。 – 2010-12-23 12:58:01

0

除了什麼dimitrisli說,我會建議使用Eclipse和命令行不同的輸出目錄。

您可以通過定義一個新的配置做到這一點(如「日蝕」),並設置輸出目錄在該配置文件<outputDirectory>${project.build.directory}/classes-eclipse</outputDirectory>

即使你在並行建造(從Eclipse和命令行)這樣他們就不會互相干擾。