maven debug
來源:程序員人生 發布時間:2015-08-25 08:44:26 閱讀次數:4282次
準備工作:
a. 在pom.xml中配置jetty插件:
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- <configuration>
- <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
- <scanIntervalSeconds>6</scanIntervalSeconds>
- <contextPath>/prospect</contextPath>
- <webDefaultXml>jetty.xml</webDefaultXml>
- <jettyEnvXml>jetty-env.xml</jettyEnvXml>
- <connectors>
- <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
- <port>8080</port>
- <headerBufferSize>80000</headerBufferSize>
- </connector>
- </connectors>
- <stopKey>stop</stopKey>
- <stopPort>8089</stopPort>
- </configuration>
- </plugin>
- </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...]菜單。
在打開的對話框中,新建1個Program,輸入mvn.bat (mvnDebug.bat)的完全路徑,指定要啟動的web工程,在Arguments框輸入jetty:run
使用mvn.bat時,需要添加調試參數:
切換到Environment選項,添加1個變量:
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...]菜單,在彈出的對話框中,新建1個Remote Java Application,指定和External Tools里面相同的工程和連接屬性:
點擊[Debug]啟動調試客戶端
②. 同方式1的②
附:
i. 遠程調試的jvm可以獨立于Eclipse運行:
這時候Eclipse里只有調試客戶端:
ii. 如果suspend=y,運行JVM而沒有開啟調試客戶端,JVM會等待直到客戶端就緒:
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈