文章转自:http://www.cnblogs.com/tenghoo/p/maven_life_cycle.htmlhtml
1、Maven的生命周期设计模式
Maven的生命周期就是对全部的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎全部的构建步骤。服务器
Maven的生命周期是抽象的,即生命周期不作任何实际的工做,实际任务由插件完成,相似于设计模式中的模板方法。框架
2、三套生命周期eclipse
Maven有三套相互独立的生命周期,分别是clean、default和site。每一个生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。maven
一、clean生命周期:清理项目,包含三个phase。post
1)pre-clean:执行清理前须要完成的工做单元测试
2)clean:清理上一次构建生成的文件测试
3)post-clean:执行清理后须要完成的工做ui
二、default生命周期:构建项目,重要的phase以下。
1)validate:验证工程是否正确,全部须要的资源是否可用。
2)compile:编译项目的源代码。
3)test:使用合适的单元测试框架来测试已编译的源代码。这些测试不须要已打包和布署。
4)Package:把已编译的代码打包成可发布的格式,好比jar。
5)integration-test:若有须要,将包处理和发布到一个可以进行集成测试的环境。
6)verify:运行全部检查,验证包是否有效且达到质量标准。
7)install:把包安装到maven本地仓库,能够被其余工程做为依赖来使用。
8)Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其余的开发者或者工程能够共享。
三、site生命周期:创建和发布项目站点,phase以下
1)pre-site:生成项目站点以前须要完成的工做
2)site:生成项目站点文档
3)post-site:生成项目站点以后须要完成的工做
4)site-deploy:将项目站点发布到服务器
3、命令行和生命周期
各个生命周期相互独立,一个生命周期的阶段先后依赖。
举例以下:
一、mvn clean
调用clean生命周期的clean阶段,实际执行pre-clean和clean阶段
二、mvn test
调用default生命周期的test阶段,实际执行test以及以前全部阶段
三、mvn clean install
调用clean生命周期的clean阶段和default的install阶段,实际执行pre-clean和clean,install以及以前全部阶段
4、m2eclipse和生命周期
一、m2eclipse中预置的mvn命令
右键maven项目或pom.xml文件>Run As 能够看到预置的mvn命令
二、自定义mvn命令
单击 上图中的maven Build...,自定义命令 mvn clean install:
定义完成后,点击maven Build,能够看到定义好的命令:
二、自定义mvn命令
单击 上图中的maven Build...,自定义命令 mvn clean install:
定义完成后,点击maven Build,能够看到定义好的命令: