设为首页 收藏本站
查看: 1071|回复: 0

[经验分享] maven工程开启jetty调试

[复制链接]
发表于 2017-2-26 09:17:06 | 显示全部楼层 |阅读模式
  准备工作: 

a. 在pom.xml中配置jetty插件: 
Xml代码   DSC0000.png


  • <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]来读取保存的配置启动: 
DSC0001.png
  可以指定运行时的访问端口:jetty:run -Djetty.port=80 或者在variable中增加变量:jetty.port=80实现设置。
  ②. 在浏览器输入地址http://localhost:8080/prospect/already/mosaic.htm,在代码上加断点,命中后IDE提示:Source not found: 
DSC0002.png  

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

完成后即可调试代码: 
DSC0003.png


方式2 - 远程调试: 

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

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

DSC0004.png  

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

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

DSC0005.png

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

点击[Run]启动jetty服务器 

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

DSC0006.png

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

DSC0007.png  

②. 同方式1的② 


附: 
i. 远程调试的jvm可以独立于Eclipse运行: 
DSC0008.png  

这时Eclipse里只有调试客户端: 
DSC0009.png  

ii. 如果suspend=y,运行JVM而没有开启调试客户端,JVM会等待直到客户端就绪: 
DSC00010.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-347272-1-1.html 上篇帖子: Jetty web强制https连接 下篇帖子: maven 配置jetty 插件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表