010——eclipse创建maven项目

首先创建一个Maven的Project如下图

我们勾选上Create a simple project (不使用骨架)

这里的Packing 选择 war的形式

由于packing是war包,那么下面也就多出了webapp的目录

由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project

在我们的项目上点击右键,选择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中

补充:我们需要在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内容。


 

 

3.2设置jar包的scope

 

当添加进入一个 jar 包后,有一些属性需要设置,最重要的就是 scope ,它有以下几种取值:

1.          compile ,缺省值,适用于所有阶段,会随着项目一起发布。

2.          provided ,类似 compile ,期望 JDK 、容器或使用者会提供这个依赖。如 servlet.jar 。

3.          runtime ,只在运行时使用,如 JDBC 驱动,适用运行和测试阶段。

4.          test ,只在测试时使用,用于编译和运行测试代码。不会随项目发布。

5.          system ,类似 provided ,需要显式提供包含依赖的 jar , Maven 不会在  Repository 中查找它。

 

 

通常 SpringMVC 项目所需要配置 scope 的 jar 包如下图:


 

有的时候发现 servlet-api 还是被打包到 lib 下面了,此时肯定会报错。就需要把 maven 插件中的 WTP 也安装一下。

Eclipse 在线安装路径: http://m2eclipse.sonatype.org/sites/m2e-extras 。选择 for Eclipse WTP 。


posted @ 2015-04-05 00:04  xu_shuyi  阅读(150)  评论(0)    收藏  举报