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 ...
随机推荐
- Nuxt.js入门学习
Nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).再直白点说,就是Vue.js原来是开发SPA(单页应用)的,但是随着技术的普及,很多人想用Vue开发多页应用, ...
- [CF798D]Mike and distribution_贪心
Mike and distribution 题目链接:http://codeforces.com/problemset/problem/798/D 数据范围:略. 题解: 太难了吧这个题..... 这 ...
- 和HTTP相关的web服务器内容
一台web服务器可以搭建多个独立域名的网站,也可以作为通信路径上的中转服务器提升传输效率. 1. 用单台虚拟主机实现多个域名 多个域名解析后对应的ip地址相同,需要在Host首部中包含完整的主机名或者 ...
- (八)springMvc 的参数绑定
参数绑定 将客户端传来的 key/value 数据,绑定到 Controller 参数的过程 : 这一过程发生在调用 处理器适配器 的时候,spring 会去调用 参数绑定 组件,我使用的版本(4.5 ...
- 整体二分(模板二)动态区间第K大
这才是更一般的二分写法--HDU5412 #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <cstdio>// ...
- python并发编程之多进程(实践篇)
一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了multiproce ...
- 【Python基础】05_Python中的while循环
1.程序的三大流程介绍 顺序 —— 从上到下,顺序执行 分支 —— 根据条件判断,决定代码的分支 循环 —— 让特定代码执行 2.while 基本语法 while 条件(判断 计数器 是否达到 目标次 ...
- 论文阅读:《Bag of Tricks for Efficient Text Classification》
论文阅读:<Bag of Tricks for Efficient Text Classification> 2018-04-25 11:22:29 卓寿杰_SoulJoy 阅读数 954 ...
- WindowsAPI使用详解——GetVersion|GetVersionEx 获取操作系统版本和名称
Windows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx. GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返 ...
- 获取windows进程信息及CListCtrl控件(List Control)练习
环境:VS2010/MFC/对话框 效果图: 目录: 1. 关于windows进程信息获取 2. CListCtrl的使用 ------------------------------------ ...