2012-08-24 37 views
0

時在Eclipse來調試我有一個pom.xml,它具有以下的東西申報Maven的 - 不能用保命插件

插件 - Maven的萬無一失,插件,Groovy的Maven的插件和maven- jar-plugin 隨着這對項目的依賴關係和幾個配置文件。

,當我從命令行的東西運行以下命令移動按預期

mvn clean install -P testProfile 

,但是當我嘗試從Eclipse運行相同的命令(用於調試目的),Maven的運行良好(行家嘗試以解決依賴關係,但進一步的處理由於錯誤而暫停),但調試模式不會啓動,即它停止在我指定的斷點處。

但是當我嘗試調試與JUnit相同的項目時,它停止在這些斷點處。

任何想法我做錯了,當使用maven。

回答

0

那麼我已經解決了這個問題。

這是由於使用surefire插件。

當您使用萬無一失的插件,它運行在另一個派生進程的測試沒有在當前的進程,這就是爲什麼你不能調試代碼。

如果你想調試你的代碼,你需要確保surefire不會分叉測試。對於這種把下面的設置在Maven配置啓動調試

forkMode=never 

之前,這應該爲你做的工作。

欲瞭解更多信息,請訪問surefire documentation頁面。

2

如果從Eclipse中運行相同的命令你的意思是,你點擊鼠標右鍵,選擇運行方式 - >Maven的安裝,這是爲您的項目目錄中的外部程序在Eclipse中執行,而不是本身。這就是爲什麼你的斷點不參與。

+0

我這樣做右鍵單擊 - >調試爲... - >創建Maven配置並單擊調試。你的聲明現在是否也適用? –

+0

我這麼認爲,即使[文檔](http://www.sonatype.com/books/m2eclipse-book/reference/running-sect-running-maven-builds.html)不清楚它。這實際上只是一種通過選擇參數來運行Maven而無需打開shell/cmd窗口的方法。 –

0

Eclipse和maven在一起玩不起來。嘗試按F5更新並從「項目」下「清理」您的項目。

相關問題