转摘自:http://czj4451.iteye.com/blog/1942437

准备工作:

a. 在pom.xml中配置jetty插件:

  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 







其它参数: 

-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会等待直到客户端就绪: 

maven工程开启jetty调试的更多相关文章

  1. Maven工程的Web调试

    1.添加Server,将Web工程和Tomcat关联起来: 1)Windows->Show views->Other-->Servers,将会在下方弹出Server的窗口,然后右键添 ...

  2. Maven开发环境的搭建,含jetty调试[简单明了]

    之前的一片老文,搬过来. 1. Maven的开发环境需要哪些部件a) Maven.去http://maven.apache.org/ 下载.将其bin目录加入进系统PATH.测试方法:用命令mvn – ...

  3. (转)淘淘商城系列——maven工程debug调试

    http://blog.csdn.net/yerenyuan_pku/article/details/72784074 上文我们已经实现了商品列表展示的功能,在实际开发中我们肯定是要经常对maven工 ...

  4. idea/eclipse下Maven工程集成web服务(tomcat、jetty)

     idea/eclipse下Maven工程集成web服务 转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html 应用服务器最常用的一般有这哥仨: ...

  5. c# CLI托管工程开启调试c++库工程代码

    启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging

  6. maven方式使用jetty

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  7. 002商城项目:maven工程的测试以及svn的使用

    我们上一篇文章搭建了maven工程,这一篇文章我们就要测试这个工程. 1: 由于这个工程还没有页面,我们要首先建立一个页面.在建立页面的jsp的过程中,我发现了一个问题,我这个eclipse由于缺少J ...

  8. Eclipse中Maven工程缺少Maven Dependencies

    Eclipse在引入Maven工程后,找不到Maven Dependencies.使得代码报错,具体如下图所示: 而正常Maven的工程如下所示: 产生这种现象的原因可能是工程对应的开发环境改变,本地 ...

  9. Maven 工程下 Spring MVC 站点配置 (一)

    最近,查找一些具体资料时,虽然会有很多,但是系统的却很少,尤其是对maven 下 spring mvc 站点搭建的配置,总是说的很多但让新手一目了然的步骤却少之又少. 对此闲暇时整理了一下,做了一套较 ...

随机推荐

  1. 【Android开发】 HttpURLConnection.getOutputStream() IO异常

    HttpURLConnection.getOutputStream()  IO异常百度下,没找到想要的答案.网上的解决方案几乎都是从权限考虑的~最后找到个国外网站上找到答案~ http://stack ...

  2. BFS 队列

    Plague Inc. is a famous game, which player develop virus to ruin the world. JSZKC wants to model thi ...

  3. 1、Java多线程基础:进程和线程之由来

    Java多线程基础:进程和线程之由来 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通 ...

  4. java容器操作一

    List l = new ArrayList(); l.add(1); l.add("ne"); // 获取 System.out.println(l.get(0)); // 判断 ...

  5. 雷哥带你走进Javascript

    javascript复习笔记--------------------------------------------1.概念2.面向对象思想3.作用认识4.引入方式5.执行顺序 变量 1)声明方式 x ...

  6. 三张照片解决--win10系统的edge浏览器设置为浏览器IE8,IE7,IE9---完美解决 费元星

      主要思想:         第二种方法:     参考文档: 1.可以在系统盘的C:\Program Files\Internet Explorer中找到iexplore.exe,然后将其发送到桌 ...

  7. 管理员常用Windows PowerShell命令Top25

    即使Windows PowerShell已经由来已久,但很多管理员并不愿意主动熟悉PowerShell cmdlet命令行.随着微软扩展了PowerShell的功能,管理员应该对其功能及使用烂熟于心. ...

  8. 第三十四篇 Python面向对象之 反射(自省)

    什么是反射? 反射的概念是由Smith在1982年提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...

  9. 编译 TensorFlow 的 C/C++ 接口

    TensorFlow 的 Python 接口由于其方便性和实用性而大受欢迎,但实际应用中我们可能还需要其它编程语言的接口,本文将介绍如何编译 TensorFlow 的 C/C++ 接口. 安装环境: ...

  10. UVA 437 The Tower of Babylon(DAG上的动态规划)

    题目大意是根据所给的有无限多个的n种立方体,求其所堆砌成的塔最大高度. 方法1,建图求解,可以把问题转化成求DAG上的最长路问题 #include <cstdio> #include &l ...