Maven构建Web项目

我们使用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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值