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
- Maven构建Web项目
- Maven构建Web项目
- Maven Web项目构建
- maven构建web项目
- maven web项目构建
- maven 构建 web项目
- Maven构建Web项目
- maven构建web项目
- Maven构建web项目
- maven构建web项目
- Maven构建Web项目
- maven构建web项目
- [maven]构建maven web项目
- 用MAVEN构建WEB项目
- Maven构建Web项目(eclipse)
- Eclipse+Maven构建Web项目
- 使用Maven构建Web项目
- Eclipse+Maven构建Web项目
- Android获取屏幕宽度的4种方法
- Linux下使用crontab命令以及Python脚本实现自动签到
- const reference and reference to const
- SVN代码管理之分支与合并(branch&merge)
- mac 同时安装jdk1.7,1.8
- Maven构建Web项目
- Redis的介绍及安装配置
- 从头到尾彻底解析Hash表算法
- android判断网络是否可以上网
- Node.js 缓存加载机制
- 【专业知识】java学习中的13个核心技术
- HTML5
- CSDN自定义博客栏目
- C#学习笔记-协变与逆变