maven eclipse debug

來源:互聯網
上載者:User

標籤:

準備工作:

a. 在pom.xml中配置jetty外掛程式:

Xml代碼  
  1. <plugins>  
  2.     <plugin>  
  3.         <groupId>org.mortbay.jetty</groupId>  
  4.         <artifactId>maven-jetty-plugin</artifactId>  
  5.         <version>6.1.26</version>  
  6.         <configuration>  
  7.             <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>  
  8.             <scanIntervalSeconds>6</scanIntervalSeconds>  
  9.             <contextPath>/prospect</contextPath>  
  10.             <webDefaultXml>jetty.xml</webDefaultXml>  
  11.             <jettyEnvXml>jetty-env.xml</jettyEnvXml>  
  12.             <connectors>  
  13.                 <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
  14.                     <port>8080</port>  
  15.                     <headerBufferSize>80000</headerBufferSize>  
  16.                 </connector>  
  17.             </connectors>  
  18.             <stopKey>stop</stopKey>  
  19.             <stopPort>8089</stopPort>  
  20.         </configuration>  
  21.     </plugin>  
  22. </plugins>  
[xml] view plaincopy
  1. <plugins>  
  2.     <plugin>  
  3.         <groupId>org.mortbay.jetty</groupId>  
  4.         <artifactId>maven-jetty-plugin</artifactId>  
  5.         <version>6.1.26</version>  
  6.         <configuration>  
  7.             <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>  
  8.             <scanIntervalSeconds>6</scanIntervalSeconds>  
  9.             <contextPath>/prospect</contextPath>  
  10.             <webDefaultXml>jetty.xml</webDefaultXml>  
  11.             <jettyEnvXml>jetty-env.xml</jettyEnvXml>  
  12.             <connectors>  
  13.                 <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
  14.                     <port>8080</port>  
  15.                     <headerBufferSize>80000</headerBufferSize>  
  16.                 </connector>  
  17.             </connectors>  
  18.             <stopKey>stop</stopKey>  
  19.             <stopPort>8089</stopPort>  
  20.         </configuration>  
  21.     </plugin>  
  22. </plugins>  



b. 使用maven的clean install命令將web及依賴工程打包成war檔案。


方式1 - Eclipse調試:

①. 右鍵maven工程,在彈出的菜單中選擇[Debug As],首次選擇[Maven build...],以後選擇[Maven build]來讀取儲存的配置啟動:


②. 在瀏覽器輸入地址http://localhost:8080/prospect/already/mosaic.htm,在代碼上加斷點,命中後IDE提示:Source not found:


解決:
點擊[Edit Source Lookup Path...]添加原始碼工程或目錄

完成後即可調試代碼:



方式2 - 遠端偵錯:

①. 選擇Eclipse的[Run]-[External Tools]-[External Tools Configurations...]菜單。

在開啟的對話方塊中,建立一個Program,輸入mvn.bat (mvnDebug.bat)的完整路徑,指定要啟動的web工程,在Arguments框輸入jetty:run



使用mvn.bat時,需要添加調試參數:
切換到Environment選項,添加一個變數:
MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1066

註:address是和調試器通訊的連接埠,不是服務的連接埠號碼。



其它參數:
-Xnoagent: 禁用預設sun.tools.debug調試器
-Djava.compiler=NONE: 禁止JIT編譯器的載入
dt_shmem: 共用記憶體傳輸,僅限於Windows

點擊[Run]啟動jetty伺服器

選擇Eclipse的[Run]-[Debug Configurations...]菜單,在彈出的對話方塊中,建立一個Remote Java Application,指定和External Tools裡面相同的工程和串連屬性:



點擊[Debug]啟動調試用戶端



②. 同方式1的②


附:
i. 遠端偵錯的jvm可以獨立於Eclipse運行:


這時Eclipse裡只有調試用戶端:


ii. 如果suspend=y,運行JVM而沒有開啟調試用戶端,JVM會等待直到用戶端就緒:

  • 大小: 61.6 KB
  • 大小: 20.3 KB
  • 大小: 29.4 KB
  • 大小: 42.9 KB
  • 大小: 64.5 KB
  • 大小: 54.8 KB
  • 大小: 16.9 KB
  • 大小: 20.2 KB
  • 大小: 12.8 KB
  • 大小: 6 KB
  • 查看圖片附件

 

(轉)maven eclipse debug

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.