最近没事了玩一下maven,使用maven管理工程中的依赖包很是的方便。创建maven web工程的时候开始不知道怎么用tomcat来调试,老是使用mave的tomcat插件发布了后来调试,以为很是的麻烦,网上找了点材料,看看maven web工程不须要发布出来就直接用tomcat调试。下面对研究成果作一个记录,备忘。php
Eclipse中创建maven工程,首先保证eclipse已经安装了m2eclipse插件。EclipseJEE 4.3.2版本已经集成了该插件,无需再安装。这个版本的eclipse下载地址为:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR2/eclipse-jee-kepler-SR2-win32.ziphtml
1、创建一个maven WEB项目java
一、file->new->other
web
二、 进入项目类型选择对话框,以下图。咱们选择Maven->Maven Project。而后点击next按钮。浏览器
三、进入工做空间选择对话框;以下图。Location->browse选择一个文件夹做为你的项目工做空间,也就是新建项目的磁盘存储位置。而后点击next按钮,进入下一步。tomcat
四、进入maven项目类型选择对话框,以下图。
app
咱们选择Artifact Id为maven-arrchetype-webapp。这种类型的就是maven的web项目了。点击next进入下一步。eclipse
五、进入项目属性设置对话框,以下图。填写Group Id和Artifact Id。其中Artifact Id将做为项目名称显示。点击finish完成项目新建过程。webapp
六、获得一个以下目录结构的maven WEB工程项目。jsp
七、新建maven WEB项目的web.xml里面是没有指定欢迎页面的,须要手动加一下。加后的配置以下。
[html] view plaincopy
<EMBED id=ZeroClipboardMovie_1 height=18 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=1&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2、eclipse中配置调试服务容器
一、打开servers视图。Window -> Show View -> Other
二、进入视图选择对话框,以下图。选择Server->Servers 点击OK肯定。
三、servers视图就被加载到控制台的位置,以下图
四、在servers视图,鼠标右单击,出现以下图新建server浮动标签。点击Server。
五、进入容器选择及配置对话框,以下图。咱们选择Apache->Tomcate v6.0 Server,点击next按钮。
六、进入项目添加、移除对话框,以下图。显示在这里的项目都是WEB项目,若是在新建maven项目的时候没有选择为webapp项目,在该对话框中就不会出现以下图的mavenWeb可选项目。
七、选中须要添加到容器中的web项目,点击Add,添加到server中。点击finish完成服务配置。
八、完成server配置后,会在servers视图出现一个刚刚新加的server,以下图。
九、这时候server配置基本完了,可是若是这时候选择服务启动,服务启动不成功。
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property'source' to 'org.eclipse.jst.j2ee.server:mavenWeb' did not find a matchingproperty.
十、双击刚刚新加的那个服务
十一、进入服务配置界面,以下图。选中:Publish module contexts to separate XML files,在中止服务的状况下保存配置。不中止服务,没法保存修改的。从新启动服务,便不会出现上面的警告了。
十二、在浏览器里面输入地址:http://localhost:8080/mavenWeb 即可看到首页里面的内容了。自此,eclipse中maven web项目tomcat调试环境配置已经完成。
3、原理说明
其实在eclipse中配置server的时候,eclipse会把web项目自动发布到工做空间的:
.metadata\.plugins\org.eclipse.wst.server.core\
的这个目录中,具体你的项目被发布到这个目录的哪一个位置要看你配置的server个数了。假如你的eclipse中只配置了一个server,那么你的项目就被发布到:
.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
你会看到,在这个目录下有你的项目被发布到这里来了。在eclipse中运行server的时候,其实执行的代码就是这个地方的。