Maven构建Web项目

来源:互联网 发布:网络mg赌博害死多少人 编辑:程序博客网 时间:2024/05/01 08:09

我们使用maven构建web项目会比较方便,但一般会遇到几个问题
1. WEB-INF和META-INF如何生成
2. 有时pom.xml会在war配置处报错[web.xml is missing and is set to true]
那么就先根据这两个问题进行分析。O(∩_∩)O~
首先我们先来看下maven如何创建web项目,一步一下
首先创建一个Maven的Project如下图
这里写图片描述
勾选上Create a simple project (不使用骨架)
这里写图片描述
这里的Packing 选择 war的形式
这里写图片描述
由于packing是war包,那么下面也就多出了webapp的目录
这里写图片描述
到这里基本上一个web工程就出现了但是现在来看第一个问题工程里并没有WEB-INF和META-INF,那就需要我们自己去创建这两个文件。
第一种做法:手动创建,在src/webapp目录下创建上这两个文件夹即可
第二种做法:在我们的项目上点击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form… 如下图
这里写图片描述
然后勾选Dynamic Web Module 并点击ok 如下图:(3.0只有tomcat7才支持)
这里写图片描述
接下来观察我们的项目结构,多了一个web content目录
这里写图片描述
虽然此时我们可以发布到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
这里写图片描述
然后再点击finish完成
这里写图片描述
至此一个基于maven的webapp就建立好了,并可以直接从eclipse中发布到tomcat中
再来看第二个问题,因为工程中没有web.xml可能会报错【web.xml is missing and is set to true】,两种解决办法
1. 这时候需要右击项目——>Java EE Tools——>Generate Deployment Descriptor Stub.然后系统会在src/main/webapp/WEB_INF文件加下创建web.xml文件。错误解决!
2.

<!-- 加上这个配置就会规避 pom.xml的war处出现failOnMissingWebXml的错误,且web工程不必使用web.xml -->        <plugin>             <groupId>org.apache.maven.plugins</groupId>             <artifactId>maven-war-plugin</artifactId>             <version>2.1.1</version>             <configuration>                <!-- 这段配置为指定项目中web.xml的位置,但我使用了failOnMissingWebXml配置故注释掉此段                 <warSourceDirectory>                       ${basedir}/src/main/webapp                   </warSourceDirectory>                   <webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>  -->                 <failOnMissingWebXml>false</failOnMissingWebXml>             </configuration>        </plugin>

建议使用第2种方式

参考文档:http://blog.csdn.net/chuyuqing/article/details/28879477

0 0
原创粉丝点击