2013-10-21 88 views
0

我有一個獨立的Maven項目,我使用org.codehaus.mojo exec插件運行java程序。Maven3 - 僅調試主要源代碼

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <executable>java</executable> 
        <argument>-classpath</argument> 
        <classpath> 
        </classpath> 
        <argument>com.abc.Main</argument> 
       </arguments> 
      </configuration> 
     </plugin> 

我也有測試用例在src/test/java目錄下,我可以使用surefire插件進行調試。但是,我無法直接通過運行com.abc.Main類來使用mvnDebug來調試主代碼(儘管通過將調試模式下的Eclipse工作區項目附加到正在被mvnDebug監聽的端口上看起來很簡單)。我想知道我們是否可以直接在主代碼上使用surefire插件進行調試?

修訂

我用eclipse開普勒版本安裝 「Maven的集成Eclipse的」 插件

+0

通常,當你沒有人回覆時,你知道你沒有做好解釋和說明你的問題......顯示一些代碼,繪製圖片,更詳細地解釋你的問題。我也有一個問題:我的一些代碼沒有達到我的預期。你知道什麼是錯的嗎? :) – carlspring

+0

好的,我按照你的建議更新了這個。是的,我知道什麼是錯的,這就是爲什麼我在這個網站:) – IndoKnight

回答

2

嘗試運行Maven的是這樣的:

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9001 -Xnoagent" clean install 

,並使用遠程調試器連接到端口9001.這將允許您在測試代碼中放置斷點。

+0

謝謝,在這裏你的命令運行的測試用例類,我不想。我想在調試模式下運行主程序。我通過用「exec:exec」替換「clean install」來嘗試你的命令。它只是運行我的程序而不進行調試。通過你的命令,我可以將我的主要源代碼「通過」測試用例作爲起點進行調試,我已經知道並在我的文章中提到了這些源代碼。 – IndoKnight

+0

在這種情況下,請嘗試通過傳入此處描述的JVM調試選項來調試'exec:exec':http://stackoverflow.com/questions/2935375/debugging-in-maven。 – carlspring