上一篇文章中,我简单介绍了一下Maven的安装以及在Eclipse中的配置,在这一章中,着重介绍一下Maven Web项目的构建:
一.首先创建一个Maven Project
1.1 选择File--》New--》Maven--》Maven Project,在Create a Simple project 上打勾
二.填写信息
2.1 填写Group Id 和 Artifact Id,这里的Packing选择war包。
2.2 由于packing是war包,那么下面也就多出了webapp的目录
三.把项目转成dynamic web project
3.1 引出webContent
由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project,鼠标右键点击mavenDemo(自己的Maven项目),选择Properties--》Project Facets--》按如些图进行勾选,这里选择Web 3.0(3.0只有tomcat7才能支持,所以要把项目部署到tomcat7中),Java jdk版本选择1.6,根据自己电脑上装的自行选择,选完点击Ok:

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

ps:如果WebContent没有出来,现在大部分是直接出不来,可以选择在把Dynamic web module 去掉勾选,然后ok,再点开项目的properties,再选中Dynamic web module就出来了。
3.2 修改webapp
虽然此时我们可以发布到tomcat中,但这不符合maven的结构,我们还要做如下修改,把META-INF 和 WEB-INF 拷贝到webapp目录下并删去WebContent。这是项目的结构为:

四.修改发布规则
右键点击项目,选择Properities--》Deployment Assembly,选择WebContent,把它remove掉,测试类我们也不需要发布,test的两个目录页可以remove

接着重新指定一个web的路径,点击Add--》Folder --》 next--》src--》main--》webapp,然后finish

最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add--》Java Build Path Entries --》next--》Maven Dependencies--》Finish,最终结果如图:

5.部署到Tomcat中并测试运行
5.1 添加web.xml到WEB-INF目录下
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" metadata-complete="true">
<display-name>Archetype Created Web Application</display-name>
</web-app>
5.2 添加一个index.jsp到web-app目录下
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
5.3 导入tomcat 7.0库
这是如果index.jsp上面出现红叉,那是因为没有导入tomcat 库,因为这是基于web 3.0的,所以我们选择tomcat7,右键项目,选择Build Path--》Configure Build Path,再打开的窗口中选择Libraries--》Add Library--》Server Runtime,选择Tomcat 7.0,点击Finish。然后在Order and Export 中勾选Apache Tomcat v7.0. 点击ok。


5.4 运行Maven项目
右键项目,选择Run as--》Run on Server,选择tomcat v7.0,然后Next,把你的项目add上,然后点Finish然项目在tomcat中运行:
运行结果:

部署成功!!!