准备工作:

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>
  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的更多相关文章

  1. [Maven]Eclipse插件之Maven配置及问题解析.

    前言:今天在自己环境装了Maven环境, 并且安装了Eclipse插件, 在查找插件过程中确实遇到一些问题, 好不容易找到一个  却又有问题.装好了插件之后, 用Eclipse创建Maven项目却出现 ...

  2. eclipse debug 调试找不到资源问题解决

    eclipse debug 的时候,如果使用maven bulid,就可能找不到class,这种情况就需要先停止服务,然后配置 Run configurations-Source,然后remove掉D ...

  3. eclipse debug 过滤一些包

    eclipse debug java程序的时候, 我们按F5的时候,常常会进入java自带类库里,这些类库并不是我们需要debug的代码,这样会影响debug的效率,我们可以在eclipse里设置,过 ...

  4. eclipse debug (调试) 学习心得

    eclipse debug (调试) 学习心得   进入debug模式:   1.设置断点   2.启动servers端的debug模式   3.运行程序,在后台遇到断点时,进入debug调试状态   ...

  5. maven eclipse web项目流程(简化内容)

    1.maven eclipse 环境搭建 1.1 下载解压配置环境变量(解压.环境变量maven目录到bin.setting.xml 改本地仓库) 1.2 eclipse插件安装配置(link安装.加 ...

  6. Eclipse debug调试

    Eclipse debug调试: F5:跳入方法F6:向下逐行调试F7:跳出方法F8:直接跳转到下一个断点

  7. maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    maven/eclipse搭建ssm(spring+spring mvc+mybatis) 前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实 ...

  8. 使用maven+eclipse搭建最简单的struts2的helloworld

    使用maven+eclipse搭建最简单的struts2的helloworld 一.web分层结构简介 1.web[细]粒度分层结构: 按细粒度分层可以分为以下6种: 1).表现层:html/css/ ...

  9. 转:Eclipse Debug 界面应用详解——Eclipse Debug不为人知的秘密

    今天浏览csdn,发现一文详细的描述了Eclipse Debug中的各个知识点,非常详尽!特此记录. Eclipse Debug不为人知的秘密 http://blog.csdn.net/mgoann/ ...

随机推荐

  1. [转]Oracle数据库中的约束

    SQL 约束 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句). 我们将主要探讨以下几种约 ...

  2. [转]JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )

    这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助.废话不想讲了.入主题: 先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(h ...

  3. yii2URL美化

    yii2的url 域名/index.php?r=site%2Findex 实际为 域名/index.php?r=site/index 可以美化下 可以在main.php中配置 'components' ...

  4. 学习笔记--(平衡树)splay

    坑爹的splay,毁我青春,耗我钱财,颓我精力 是一种用于保存有序集合的简单高效的数据结构.伸展树实质上是一个二叉查找树.允许查找,插入,删除,删除最小,删除最大,分割,合并等许多操作,这些操作的时间 ...

  5. BZOJ1208 宠物收养所

    Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特 ...

  6. asp.net 实现在线打印功能,jQuery打印插件PrintArea实现自动分页

    使用的组件:jQuery打印插件PrintArea,有兴趣的可以研究一下. 使用方法略过,这里将介绍如何实现打印多页是可以分页. 现在提供两种方法思路: 1.根据特定的打印机型号和使用的纸张类型,然后 ...

  7. CodeMap

    CodeMap 这是在博客园看到的一位朋友文章介绍的,很好用的插件,所有的方法,注释块在右边一目了然,找代码方便极了,还能设置代码段的高亮,给代码段设置标识

  8. FatMouse的交易问题

    想按照某个值排序,用sort()函数,结果想了半天不知道用数组怎么解决,然后看了答案,才知道原来可以用struct,想想我真是笨死了.. 原题描述以及答案如下: Problem Description ...

  9. 了解 Nginx 基本概念

    前言 本篇是我学习 Nginx 的一些笔记,主要内容讲述了一些了解 Nginx 需要的基本概念.然后探讨一下 Nginx 的模块化的组织架构,以及各个模块的分类.工作方式.职责和提供的相关指令. 主要 ...

  10. 架构(Architecture)和框架(Framework)杂谈

    1. 架构和框架的设计层次不同       类似于硬件设计,软件设计也分为不同的层次.典型的软件设计层次如下图:        在这个图中我们可以看到,Framework处于Micro-archite ...