1、使用eclipse插件创建一个web project
首先创建一个Maven的Project如下图
我们勾选上Create a simple project (不使用骨架)
这里的Packing 选择 war的形式
由于packing是war包,那么下面也就多出了webapp的目录

2、由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project
在我们的项目上点击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form… 如下图:
然后勾选Dynamic Web Module 并点击ok 如下图:(3.0只有tomcat7才支持, 在部分IDE下面可以继续切换版本,比如更换到3.1标准的servlet)

接下来观察我们的项目结构,多了一个web content目录

注:
1)如果在结构转换的时候没有出现Dynamic Web Module选项,可以参考我的上一篇博文。
2)如果没有自动生成以上的文件夹,手动创建的效果是一样的,无需担心。
3、虽然此时我们可以发布到tomcat中,但这不符合maven的结构,我们还要做如下修改
把上图WebContent下面两个目录 META-INF ,WEB-INF 直接剪切到src/main/webapp目录下,并删掉WebContent目录,那么现在的项目结构如下图:

然后我们要修改发布规则,右键点击项目, 选择 Deployment Assembly
选择WebContent,把它remove掉,测试类我们也不需要发布,test的两个目录页可以remove
接着重新指定一个web的路径,点击add,选择Folder – 〉 next
在src下找到webapp目录,然后finish
最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next

注:只有maven项目添加完Dynamic Web Module之后才能找到Maven Dependency选项。如果没有找到该选项,说明你创建的Maven项目尚未转化成web项目。
完成后如下图:

注:
网上流传的大部分博文中出现的路径都是如同下文所示的
/src/main/webapp /
/src/main/java /WEB-INF/classes
/src/main/resources /WEB-INF/classes
Maven Dependencies /WEB-INF/lib
看这种博文我觉得浪费了我很多时间。。搞得我总是想在上图所示的前面加一个/
其实并不是像网上大部分流传的博客那样前面会有/
/src/main/webapp / 这一句话已经为我们的WEB项目提供了根路径,其他的路径都是基于根路径的相对路径。所以无需前面再加 /
本文详细介绍如何在Eclipse中使用Maven插件创建并配置Web项目,包括项目结构的调整,使其符合Maven标准,以及如何正确设置发布规则。

1763

被折叠的 条评论
为什么被折叠?



