搭建maven支持的web工程的步骤

     搭建一个新的web project的整体思路:先用maven搭建项目的骨架,生成mvn project,然后将mvn project转换为web project,最后添加相关的Springhibernatedispatcher等配置文档.本文以Daemon工程的建立为例来说明整个流程。

一、介绍用maven搭建项目的骨架

主要分为下面两种方法。(如果内网建议用第二种方法)

第一种方法:使用Archetype生成项目骨架

1、在项目生成的目录上打开命令窗口,在命令窗口中输入mvn archetype:generate如下图

2、回车执行之后出现会看到一段长长的输出,有很多可用的archetype供我们选择,每一个archetype前面都会对应有一个编号,同时命令行会提示一个默认的编号,如下图,其对应的archetypemaven-archetype-quickstart,我们直接回车以选择该archetype

3、然后Maven会提示我们输入要创建项目的groupIdartifactIdversion、以及包名package,按照下图所示填写。最后出现确认提示,输入Y。看到BUILD SUCCESS表示成功完成mvn project的构建。

4、执行mvn clean install mvn eclipse:myeclipse命令,将其导入myeclipse,骨架如下图所示:

5、右击项目选择MyEclipse Maven ,选择Enable Dependency Management,激活Maven插件。注意项目工程图标的变化,图标左上角多了一个M

第二种方法:简单使用m2eclipse生成项目骨架

1File->New->Other,选择Maven Project,点击Next

2、出现如下对话框,点击next

3、出现如下对话框:选择maven-archetype-quickstart,点击next

4、出现如下对话框,填写如下(因为本工程名字是Deamon,故Atifact Id填写Daemon),点击finish

5、生成的mvn project骨架如下:

二、将mvn project转换为web project

1、在生成的mvn project上右击,选择MyEclipse,选择Add Web Project Capabilities

2、弹出对话框如下 (红色的勾去掉)

3、点击Browse,弹出对话框,选择main路径,然后点击Create New Folder

4、填出对话框,填入webapp,点击确定(这几步骤的目的在于设定的web.xml所在的路径,如果不是这样的路径,则当执行mvn install时会报错)

5、路径设定如下,点击finish

6、完成后可以看到mvn project已经成功转换为web project(项目右上角出现了一个小球)。

第一种方法生成的web project

第二种方法生成的web project

 

7、接着,在当前基础上再添加两个sourcefolder,起名为src/java/resourcessrc/test/resources

则当前项目骨架如图所示

8java build path 中修改下面四个source foldeclass文件输出路径 
src/main/java     选择   target/classes

src/java/resources 选择   target/classes

src/test/java      选择   target/test-classes

src/test/resources 选择   target/test-classes

9、设置完输出路径之后,打开pom文件,因为pom文件是自动生成的,基本信息中已经在上述过程中设定好了,如下图所示。不过注意要修改packaging,默认当执行mvn clean install时生成jar,此处我们改为war,便于以后在tomcat上部署。要想得到jar,则packaging改为jar即可。

然后将依赖改为项目组需要的那些jar包依赖。最后在参考application-foundationpom.xml,添加的插件的声明,注意拷贝完后要修改finalName如下图。如果需要,可以将maven-compiler-pluginsourcetarget改为1.6,这样就可以用jdk6版本

 

 转自:http://blog.sina.com.cn/s/blog_6cad92b701019tai.html

 

搭建maven支持的web工程的步骤,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。