(转)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会等待直到客户端就绪:
相关文章
- Eclipse搭建maven开发环境
- 解决Maven报错“Cannot resolve com.lowagie:itext:2.1.7.js7”
- Eclipse Maven 配置setting.xml 的镜像远程仓库
- 《maven官方文档》5分钟开始Maven
- Centos7安装maven
- 解决maven打包编译出现File encoding has not been set问题
- maven 遇到failOnMissingWebXml有关问题解决方法
- 用Maven编译Apache flume-ng 1.5.0源码及问题解决
- Maven导入依赖时一直resolving maven dependencies很慢,如何解决
- Java最快的maven仓库地址,国内Maven地址,超快的Maven地址
- 在Eclipse中创建maven项目出现的环境警告 j2se-1.5
- linux 之 maven安装
- springboot多环境下maven打包
- eclipse git拉取完代码后怎么maven构建
- maven生命周期
- 在Eclipse中使用Maven配置WebDriver+Testng(2)
- 菜鸟教程之工具使用(六)——让Maven项目直接在eclipse内部的Tomcat中执行
- Web 基础 之 Eclipse 中配置自己的 Maven ,并运行 Maven 工程简单整理
- eclipse maven
- hadoop学习笔记(四)——eclipse+maven+hadoop2.5.2源代码
- [转载]架构指南 : Java1.7+Eclipse luna + Maven 3.2.5 +spring 4.1.4
- 【曹工杂谈】Maven底层容器Plexus Container的前世今生,一代芳华终落幕
- idea导入maven项目时需要注意
- Eclipse+maven 构建第一个简单的springmvc项目
- idea创建web项目,springboot项目,maven项目
- Maven(二)——eclipse使用Maven创建(Java和Android)项目