Eclipse中使用Maven的Jetty插件Debug Web项目
1.环境配置
JAVA_HOME=D:\Program Files\Java\jdk1.7.0_80
JRE_HOME=%JAVA_HOME%\jre
CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
MAVEN_HOME=D:\Program Files\maven3
M2_HOME=%MAVEN_HOME%
MAVEN_OPTS=-Xms128m -Xmx512m -XX:PermSize=128m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
PATH=%JAVA_HOME%\bin;%JRE_HOME%\bin;%MAVEN_HOME%\bin;
2. POM.xml
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
</dependencies> <build>
<finalName>test</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<scanIntervalSeconds>3</scanIntervalSeconds>
<webAppConfig>
<contextPath>/test</contextPath>
</webAppConfig>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8081</port>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
3.使用PowerCMD启动Jetty
> cd webapp项目路径(pom.xml所在目录)
>mvn jetty:run
Listening for transport dt_socket at address: 8000
[INFO] Scanning for projects...
4.Debug Configuration
进入Eclipse “Run/Debug/Debug Configuration”目录,选择“Remote Java Application”并点击“New”按钮,在“Project”中选择要调试的webapp项目。
并确保端口号与MAVEN_OPTS中“address=”设置的值相同,Host保持默认(localhost)。为了关闭jetty,建议选中步骤二中的“Allow termination of remote VM”。
关联源码:选择“Source”标签,选择“Add…”按钮添加关联的源代码。选择“Java Project”,勾选与当前webapp相关的Maven项目源码。
然后点击Apply, Debug就可以进行调试了。
5.另外一种启动方式
如果不想使用cmd命令启动 jetty,可以进入eclipse ->Run/External Tools/External Tools Configuration目录,选择“Program”并点击“New”按钮。在“Main”标签中的“Location”中设置mvn的执行路径(如:D:\Program Files\maven3\bin\mvn.bat),在“Working Directory”中选择webapp所属的workspace,在“Arguments”中添加“jetty:run”,如图:
在“Environment”标签中,点击“New”按钮,添加变量:MAVEN_OPTS=-Xms128m -Xmx512m -XX:PermSize=128m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
如果设置suspend=y,则运行时需要等待debugger。
Eclipse中使用Maven的Jetty插件Debug Web项目的更多相关文章
- eclipse中使用Maven新建Servlet2.5的Web项目
前言 我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的 ...
- maven学习四:maven集成jetty插件发布web项目 标签: maven
http://blog.csdn.net/u014079773/article/details/50167833
- Java全栈程序员之07:IDEA中使用MAVEN构架生产级的Web项目
在上一篇我们介绍了如何在IDEA中使用MAVEN,以及如何创建依赖等.那么在这一篇中,我们就试图搭建一个生产级的解决方案,大家可以使用这个解决方案作为骨架代码来搭建自己的开发环境. 在这里,我们要完成 ...
- 如何通过Maven的Jetty插件运行Web工程
首先建议使用jetty9,因为据官方文档显示,Jetty 7 and Jetty 8 are now EOL (End of Life),如下.但是由于项目使用的版本一般都比较低,这里以jetty8为 ...
- 总结eclipse中安装maven插件
当自己越来越多的接触到开源项目时,发现大多数的开源项目都是用maven来够建的.并且在开发应用时,也越来越意识到maven的确会解决很多问题,如果你要了解maven,可以参考:Maven入门指南(一) ...
- 在Eclipse中使用Maven插件 博客分类: Java相关技术
简介 本文介绍如何在Eclipse中通过maven插件编写java项目和web项目. 安装Maven 下载Maven最新版本,见:maven.apache.org/download.html 当前版本 ...
- 在Eclipse中配置Maven插件
--------------------------siwuxie095 在 Eclipse 中配置 Maven 插件 ...
- eclipse中安装maven插件
原文:http://blog.csdn.net/wode_dream/article/details/38052639 当自己越来越多的接触到开源项目时,发现大多数的开源项目都是用maven来够建的. ...
- 在eclipse中公布maven的多模块web项目到tomcat上及单步debug模块jar
1.在eclipse中公布maven的多模块web项目到tomcat eclipse和maven及tomcat的部署略去,还有maven的基础知识和使用在此处略去. 依照例如以下的步骤操作: 将lib ...
随机推荐
- 如何在视图中启用thymeleaf
1.在HTML标签中引入一个属性 <html xmlns:th="http://www.thymeleaf.org"> <!-- 引入xmlns:th属性才能启用 ...
- zTree入门使用
简单入门使用,熟悉其功能,没有与异步调用后台数据,用的是本地设置的数据. zTree的API:http://www.treejs.cn/v3/api.php 源码:https://github.com ...
- elasticsearch 映射 dynamic用法
- bootstrap导航栏PC端移动端之不同样式
在此之前,我先说我之所以要改变网站PC移动双端不同样式的原因. 首先我的网站用到了bootstrap响应式布局,这是我网站的PC端导航栏: 这是我网站的移动端导航栏,看着就难受: 我用谷歌浏览器F12 ...
- [转帖]从入门到实践:创作一个自己的 Helm Chart
从入门到实践:创作一个自己的 Helm Chart https://www.cnblogs.com/alisystemsoftware/p/11436469.html 自己已经搭建好了 helm 和t ...
- 解决redis运行期间key值过期但是内存memory依然占用过高
要解决这个问题,首先要了解redis info信息中几个数据的意义: used_memory:810575104 //数据占用了多少内存(字节) used_memory_human:773.02 ...
- abstract class 与 interface
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...
- C++ Primer练习题day2
/* 1.7略 1.8 /* 指出不合法的语句: std::cout<<"/"; std::cout<<"*/ "; std::cout ...
- dede添加自定义变量不显示
dedecms前端无法调用自定义变量要怎么解决,登录他的网站后台看了一下,自定义变量已经添加了,也写入了数据库表中,但是就是前台没办法调用出来,后面想想可能是文件权限不够,具体是哪个文件呢?查了相关文 ...
- Invalid default value for 'time'
原因:安装的MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for 'time' ...