一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin。用户也可自行配置或编写插件。
maven的三套生命周期
Maven定义了三套生命周期:clean、default、site,每个生命周期都包含了一些阶段(phase)。三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。
?
1.1 clean生命周期:
1.2 default生命周期部分阶段:
1.3 site生命周期(用的较少)
?
Maven的核心文件很小,主要的任务都是由插件来完成。定位到:%本地仓库%\org\apache\maven\plugins,可以看到一些下载好的插件:
?
2.1 插件的目标(Plugin Goals)
插件目标是为项目在生命周期各个阶段使用不同插件来完成构建任务。
?
?2.2 生命周期阶段与插件关系
Maven 的生命周期是抽象的,实际需要插件来完成任务,这一过程是通过将插件的目标(goal)绑定到生命周期的具体阶段(phase)来完成的。如:将 maven-compiler-plugin插件的compile目标绑定到default生命周期的compile阶段,完成项目的源代码编译:
2.3 maven的内置插件
?? 我们在执行maven命令的时候 mvn? clean? compile package,maven会通过自己内置插件帮我们执行 项目的清理 编译 打包工作,这些也是通过maven的内置插件实现的。
?2.4 插件的配置
?
<build> <plugins> <plugin> <!-- 配置插件坐标--> </plugin> </plugins> </build>
?
?
maven系列文章:?1).maven的安装及常用命令(一)
? 2).maven的生命周期,插件介绍(二)
? 3).maven的坐标,仓库介绍及配置(三)
? 4).maven的pom介绍及配置(四)
? 5).maven的依赖特性,冲突解决(五)
? 6).maven的聚合模块和pom继承使用(六)
原文:http://yanan0628.iteye.com/blog/2270358