(转)maven eclipse debug
准备工作:
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>
- <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...]菜单。
在打开的对话框中,新建一个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的更多相关文章
- [Maven]Eclipse插件之Maven配置及问题解析.
前言:今天在自己环境装了Maven环境, 并且安装了Eclipse插件, 在查找插件过程中确实遇到一些问题, 好不容易找到一个 却又有问题.装好了插件之后, 用Eclipse创建Maven项目却出现 ...
- eclipse debug 调试找不到资源问题解决
eclipse debug 的时候,如果使用maven bulid,就可能找不到class,这种情况就需要先停止服务,然后配置 Run configurations-Source,然后remove掉D ...
- eclipse debug 过滤一些包
eclipse debug java程序的时候, 我们按F5的时候,常常会进入java自带类库里,这些类库并不是我们需要debug的代码,这样会影响debug的效率,我们可以在eclipse里设置,过 ...
- eclipse debug (调试) 学习心得
eclipse debug (调试) 学习心得 进入debug模式: 1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ...
- maven eclipse web项目流程(简化内容)
1.maven eclipse 环境搭建 1.1 下载解压配置环境变量(解压.环境变量maven目录到bin.setting.xml 改本地仓库) 1.2 eclipse插件安装配置(link安装.加 ...
- Eclipse debug调试
Eclipse debug调试: F5:跳入方法F6:向下逐行调试F7:跳出方法F8:直接跳转到下一个断点
- maven/eclipse搭建ssm(spring+spring mvc+mybatis)
maven/eclipse搭建ssm(spring+spring mvc+mybatis) 前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实 ...
- 使用maven+eclipse搭建最简单的struts2的helloworld
使用maven+eclipse搭建最简单的struts2的helloworld 一.web分层结构简介 1.web[细]粒度分层结构: 按细粒度分层可以分为以下6种: 1).表现层:html/css/ ...
- 转:Eclipse Debug 界面应用详解——Eclipse Debug不为人知的秘密
今天浏览csdn,发现一文详细的描述了Eclipse Debug中的各个知识点,非常详尽!特此记录. Eclipse Debug不为人知的秘密 http://blog.csdn.net/mgoann/ ...
随机推荐
- 使用gitlab+jenkins+saltstack+rsync自动部署Web应用
转载:http://www.ithao123.cn/content-8128849.html
- 从零开始设计SOA框架(三):请求参数的加密方式
第二章中说明请求参数有哪些,主要是公共参数和业务参数,服务端需要对参数进行效验,已验证请求参数的合法性 参数效验前先解释下以下参数: 1.参数键值对:包括公共参数.业务参数 1.公共参数:按 ...
- 关于obj和基本类通过函数参数传进去执行是否改变原来的值
var obj = { p1 : 1, p2 : 2 }; (function(_/* 这个东东是地址的应用哦 */){ _.p1 = 3, _.p2 = 4 })(obj) var i = 2; ( ...
- Html-Css-iframe的自适应高度方案
先看一个示例,有两个页面,1.html通过iframe嵌入2.html,两个页面都是同域的 a.html <!DOCTYPE html> <html> <head> ...
- 【POJ 1273】Drainage Ditches(网络流)
一直不明白为什么我的耗时几百毫秒,明明差不多的程序啊,我改来改去还是几百毫秒....一个小时后:明白了,原来把最大值0x3f(77)取0x3f3f3f3f就把时间缩短为16ms了.可是为什么原来那样没 ...
- 该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
是一篇关于javascript模块化AMD,CMD,CommonJS的学习总结,作为记录也给同样对三种方式有疑问的童鞋们,有不对或者偏差之处,望各位大神指出,不胜感激. 本篇默认读者大概知道requi ...
- 15个Linux Wget下载实例终极指南
15个Linux Wget下载实例终极指南 Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到 ...
- Visual Studio IIS Express 不支持.json后缀的mime类型
vs默认web调试工具中并不支持.json后缀的mime类型. 如何解决,两个方案: 局部单应用:web.config: <system.webServer> .... <stati ...
- 基于REST架构的Web Service设计
来自: http://www.williamlong.info/archives/1728.html 先前我曾经介绍过利用Apache Axis实现基于SOAP的Web Service实现技术和相关代 ...
- URLDecoder与URLEncoder
网页中的表单使用POST方法提交时,数据内容的类型是 application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z", ...