最近没事了玩一下maven,使用maven管理工程中的依赖包非常的方便。建立maven web工程的时候开始不知道怎么用tomcat来调试,总是使用mave的tomcat插件发布了后来调试,觉得非常的麻烦,网上找了点材料,看看maven web工程不需要发布出来就直接用tomcat调试。下面对研究成果做一个记录,备忘。
一、建立一个maven WEB项目
1、file->new->other
2、 进入项目类型选择对话框,如下图。我们选择Maven->Maven Project。然后点击next按钮。
3、进入工作空间选择对话框;如下图。Location->browse选择一个文件夹作为你的项目工作空间,也就是新建项目的磁盘存储位置。然后点击next按钮,进入下一步。
4、进入maven项目类型选择对话框,如下图。
我们选择Artifact Id为maven-arrchetype-webapp。这种类型的就是maven的web项目了。点击next进入下一步。
5、进入项目属性设置对话框,如下图。填写Group Id和Artifact Id。其中Artifact Id将作为项目名称显示。点击finish完成项目新建过程。
6、得到一个如下目录结构的maven WEB工程项目。
7、新建maven WEB项目的web.xml里面是没有指定欢迎页面的,需要手动加一下。加后的配置如下。
web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
Archetype Created Web Application
index.jsp
二、eclipse中配置调试服务容器
1、打开servers视图。Window -> Show View -> Other
2、进入视图选择对话框,如下图。选择Server->Servers 点击OK确定。
3、servers视图就被加载到控制台的位置,如下图
4、在servers视图,鼠标右单击,出现如下图新建server浮动标签。点击Server。
5、进入容器选择及配置对话框,如下图。我们选择Apache->Tomcate v6.0 Server,点击next按钮。
6、进入项目添加、移除对话框,如下图。显示在这里的项目都是WEB项目,如果在新建maven项目的时候没有选择为webapp项目,在该对话框中就不会出现如下图的mavenWeb可选项目。
7、选中需要添加到容器中的web项目,点击Add,添加到server中。点击finish完成服务配置。
8、完成server配置后,会在servers视图出现一个刚刚新加的server,如下图。
9、这时候server配置基本完了,但是如果这时候选择服务启动,服务启动不成功。
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property'source' to 'org.eclipse.jst.j2ee.server:mavenWeb' did not find a matchingproperty.
10、双击刚刚新加的那个服务
11、进入服务配置界面,如下图。选中:Publish module contexts to separate XML files,在停止服务的情况下保存配置。不停止服务,无法保存修改的。重新启动服务,便不会出现上面的警告了。
12、在浏览器里面输入地址:http://localhost:8080/mavenWeb 便可看到首页里面的内容了。自此,eclipse中maven web项目tomcat调试环境配置已经完成。
三、原理说明
其实在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的时候,其实执行的代码就是这个地方的。