Myeclipse中maven工程使用jetty插件启动jetty服务器调试

准备工作:

a. 在pom.xml中配置jetty插件:
Xml代码   收藏代码
  1. <plugins>  
  2.     <plugin>  
  3.         <groupId>org.mortbay.jettygroupId>  
  4.         <artifactId>maven-jetty-pluginartifactId>  
  5.         <version>6.1.26version>  
  6.         <configuration>  
  7.             <webAppSourceDirectory>src/main/webappwebAppSourceDirectory>  
  8.             <scanIntervalSeconds>6scanIntervalSeconds>  
  9.             <contextPath>/prospectcontextPath>  
  10.             <webDefaultXml>jetty.xmlwebDefaultXml>  
  11.             <jettyEnvXml>jetty-env.xmljettyEnvXml>  
  12.             <connectors>  
  13.                 <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
  14.                     <port>8080port>  
  15.                     <headerBufferSize>80000headerBufferSize>  
  16.                 connector>  
  17.             connectors>  
  18.             <stopKey>stopstopKey>  
  19.             <stopPort>8089stopPort>  
  20.         configuration>  
  21.     plugin>  
  22. plugins>  


b. 使用maven的clean install命令将web及依赖工程打包成war文件。


方式1 - Eclipse调试:

①. 右键maven工程,在弹出的菜单中选择[Debug As],首次选择[Maven build...],以后选择[Maven build]来读取保存的配置启动:
Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第1张图片

②. 在浏览器输入地址http://localhost:8080/prospect/already/mosaic.htm,在代码上加断点,命中后IDE提示:Source not found:
Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第2张图片

解决:
点击[Edit Source Lookup Path...]添加源代码工程或目录

完成后即可调试代码:
Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第3张图片


方式2 - 远程调试:

①. 选择Eclipse的[Run]-[External Tools]-[External Tools Configurations...]菜单。

在打开的对话框中,新建一个Program,输入mvn.bat (mvnDebug.bat)的完整路径,指定要启动的web工程,在Arguments框输入jetty:run

Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第4张图片

使用mvn.bat时,需要添加调试参数:
切换到Environment选项,添加一个变量:
MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1066

注: address是和调试器通信的端口,不是服务的端口号

Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第5张图片

其它参数:
-Xnoagent: 禁用默认sun.tools.debug调试器
-Djava.compiler=NONE: 禁止JIT编译器的加载
dt_shmem: 共享内存传输,仅限于Windows

点击[Run]启动jetty服务器

选择Eclipse的[Run]-[Debug Configurations...]菜单,在弹出的对话框中,新建一个Remote Java Application,指定和External Tools里面相同的工程和连接属性:

Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第6张图片

点击[Debug]启动调试客户端

Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第7张图片

②. 同方式1的②


附:
i. 远程调试的jvm可以独立于Eclipse运行:
Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第8张图片

这时Eclipse里只有调试客户端:
Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第9张图片

ii. 如果suspend=y,运行JVM而没有开启调试客户端,JVM会等待直到客户端就绪:
Myeclipse中maven工程使用jetty插件启动jetty服务器调试_第10张图片

你可能感兴趣的:(MyEclipse,JAVA高级,杨凯,JAVA,jetty,myeclipse)