010——eclipse创建maven项目
首先创建一个Maven的Project如下图
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700411184.png)
我们勾选上Create a simple project (不使用骨架)
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700412147.png)
这里的Packing 选择 war的形式
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700413460.png)
由于packing是war包,那么下面也就多出了webapp的目录
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700414522.png)
由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project
在我们的项目上点击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form… 如下图:
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700434179.png)
然后勾选Dynamic Web Module 并点击ok 如下图:(3.0只有tomcat7才支持)
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700421281.png)
接下来观察我们的项目结构,多了一个web content目录
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700424114.png)
虽然此时我们可以发布到tomcat中,但这不符合maven的结构,我们还要做如下修改
把上图WebContent下面两个目录 META-INF ,WEB-INF 直接剪切到src/main/webapp目录下,并删掉WebContent目录,那么现在的项目结构如下图:
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700441165.png)
然后我们要修改发布规则,右键点击项目, 选择 Deployment Assembly
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700442041.png)
选择WebContent,把它remove掉,测试类我们也不需要发布,test的两个目录页可以remove
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700444441.png)
接着重新指定一个web的路径,点击add,选择Folder -- 〉 next
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700461080.png)
在src下找到webapp目录,然后finish
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700462539.png)
最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700474667.png)
然后再点击finish完成
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700480487.png)
完成后如下图:
![[转载]在Eclipse中 <wbr>创建Maven项目](http://pic002.cnblogs.com/images/2012/267998/2012010700485637.png)
至此一个基于maven的webapp就建立好了,并可以直接从eclipse中发布到tomcat中
补充:我们需要在src/main/webapp/WEB-INF下面创建一个web.xml
向 maven 项目中添加 jar 包
maven 可以管理项目依赖的 jar 包,通过 groupID 、 artifactId 以及版本号可以唯一确定一个 jar 包。这样可以防止老式 Web 项目中 WEB-INF/lib 下 jar 包不一致的问题。并且 maven 还会自动下载添加进的 jar 包所依赖的 jar 包。
3.1 在pom.xml中添加所需要的jar包
使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring。将spring包全部添加进来。需要添加的其他jar包有:junit、jstl。或者点击pom.xml直接编辑pom.xml文件。这样可以直接copy过来dependencies内容。
![[转载]在Eclipse中 <wbr>创建Maven项目](http://dl.iteye.com/upload/attachment/358030/0c03dd0b-745f-3499-99ca-f8ddb532525a.png)
3.2设置jar包的scope
![[转载]在Eclipse中 <wbr>创建Maven项目](http://dl.iteye.com/upload/attachment/477955/b4c2da41-145e-34de-a467-3bdfbfb2228f.png)
当添加进入一个 jar 包后,有一些属性需要设置,最重要的就是 scope ,它有以下几种取值:
1. compile ,缺省值,适用于所有阶段,会随着项目一起发布。
2. provided ,类似 compile ,期望 JDK 、容器或使用者会提供这个依赖。如 servlet.jar 。
3. runtime ,只在运行时使用,如 JDBC 驱动,适用运行和测试阶段。
4. test ,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
5. system ,类似 provided ,需要显式提供包含依赖的 jar , Maven 不会在 Repository 中查找它。
通常 SpringMVC 项目所需要配置 scope 的 jar 包如下图:
![[转载]在Eclipse中 <wbr>创建Maven项目](http://dl.iteye.com/upload/attachment/477973/3ad4da09-404b-3fa8-bb99-479be59630bb.png)
有的时候发现 servlet-api 还是被打包到 lib 下面了,此时肯定会报错。就需要把 maven 插件中的 WTP 也安装一下。
Eclipse 在线安装路径: http://m2eclipse.sonatype.org/sites/m2e-extras 。选择 for Eclipse WTP 。
![[转载]在Eclipse中 <wbr>创建Maven项目](http://dl.iteye.com/upload/attachment/477959/41aeca9f-970e-398f-a19e-4c914f1d14ee.png)

浙公网安备 33010602011771号