Maven的生命周期及插件绑定
2016-12-21 本文已影响47人
香芋牛奶面包
何为生命周期?
一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin。用户也可自行配置或编写插件。
Maven的生命周期是抽象的,意味着生命周期本身不做任何实际工作,在Maven的设计中,实际的工作都交由插件来完成
Maven定义了三套生命周期:clean、default、site,每个生命周期都包含了一些阶段(phase)。三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。
1 . 1 clean生命周期

1 . 2 default生命周期

1 . 3 site生命周期

(阶段)phase (目标)goal
Phase 之前说过,指的就是生命周期的各个阶段
Goal 指便是 插件的目标(通俗的说就是插件所具有的功能)

自定义插件配置
