from:http://blog.csdn.net/lazy_p/article/details/6732277

这篇文章,基本上算是讲清楚的。个别文字有错误,我修正了一下。

 

一、建立maven web项目

 

1.1选择建立MavenProject

选择File -> New ->Other...,在New窗口中选择Maven -> Maven Project。点击Next >

     

1.2选择项目路径

Use default Workspace location默认工作空间。点击Next>

 

1.3选择项目类型

Artifact Id中选择maven-archetype-webapp。点击Next>

 

1.4输入GroupIDArtifactID,以及Package

Group ID一般写大项目名称。ArtifactID是子项目名称。

例如Springweb包,GroupIDorg.springframeworkartifactIdspring-web

Package是默认给你建一个包,不写也可以。点击Finish

 

1.5刚建立好后的文件结构如下图

这里,顺便提一下,我使用的eclipse ide版本是Java EE,版本是indigo。

 

2,配置项目

接下来就需要更改好多配置了。

 

2.1把项目变成DynamicWeb项目

 2.1.1 右键项目,选择ProjectFacets,点击Convert to faceted form

 

 

 

2.1.2 配置Project Facets

勾选Dynamic Web Module,版本设置为2.5(3.0Java7):

2.1.3 配置Modify Faceted Project

 

点击Further configurationavailable…,弹出Modify Faceted Project窗口

此处是设置web.xml文件的路径,我们输入src/main/webapp

Generate web.xml deployment descriptor自动生成web.xml文件,可选可不选。

 

点击OK,再点击OK。

此时,工程目录结构为:

 

 

2.2设置部署程序集(WebDeployment Assembly)

右键项目打开此窗口。在左侧列表中会出现一个Deployment Assembly,点击进去后,如下图:

 

 

此处列表是,部署项目时,文件发布的路径。

1,我们删除test的一项,因为test是测试使用,并不需要部署。

2,设置将Mavenjar包发布到lib下。

Add... -> Java Build Path Entries -> Maven Dependencies -> Finish

设置完成效果图

 

3,构建框架

3.1 pom.xml中添加所需要的jar

使用MavenPOMeditor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入jsf,就会自动搜索关于JSF相关的jar包,我们选择2.0.4版本的jsf。将jsf包全部添加进来。需要添加的其他jar包有:junitjstl。或者点击pom.xml直接编辑pom.xml文件。这样可以直接copy过来dependencies内容。

注意,如果不会搜索怎么办?参考:http://memory.blog.51cto.com/6054201/1141693

 

我们的pom.xml文件可直接复制下面的内容。

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>RulesMaven</groupId>

<artifactId>RulesMaven</artifactId>

<packaging>war</packaging>

<version>0.0.1-SNAPSHOT</version>

<name>RulesMavenMavenWebapp</name>

<url>http://maven.apache.org</url>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

<dependency>

<groupId>com.sun.faces</groupId>

<artifactId>jsf-api</artifactId>

<version>2.0.4-b09</version>

</dependency>

<dependency>

<groupId>com.sun.faces</groupId>

<artifactId>jsf-impl</artifactId>

<version>2.0.4-b09</version>

</dependency>

<dependency>

<groupId>org.primefaces</groupId>

<artifactId>primefaces</artifactId>

<version>2.2.1</version>

</dependency>

<dependency>

<groupId>org.primefaces.themes</groupId>

<artifactId>aristo</artifactId>

<version>1.0.0</version>

</dependency>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>jstl</artifactId>

<version>1.2</version>

</dependency>

 

</dependencies>

<build>

<finalName>RulesMaven</finalName>

</build>

</project>

 

4,发布

对着工程点右键:RunAs -> Maven install

然后再RunAs -> Maven package.

生成完后用Tomcat跑即可。

5,运行

1,新建WTP服务器

右键New—other—server

 

配置tomcat服务器

双击tomcatv6.0 server at localhost

选择modules

添加要发布的models

 

启动服务器运行。

 

以上部分和Java EE版本的操作略有差别,但是,大同小异,估计,使用Java EE版本的Eclipse的同学,问题不大。这样创建出来的工程,依然可以支持直接部署,调试,或运行。