Maven 生命周期理解

 生命周期(life-cycle)是由阶段(Phase)组成的,咱们敲入的命令没法直接触摸到某生命周期,由于这不是咱们控制的,是由MAVEN自身控制的,咱们只能摸到某个生命周期的某个阶段(Phase)maven

 

好比最多见的命令 mvn clean ,他其实要maven作的不是执行Clean 生命周期(你摸不到Clean生命周期),而是执行Clean生命周期的clean 阶段ide

由于Clean 生命周期有3种阶段 pre-clean  / clean  / post-clean),而maven约定为,执行某阶段必定执行前面全部阶段post

因此 mvn clean 命令 等效于 mvn pre-clean+ mvn cleanspa

          mvn post-clean 命令等效于 mvn pre-clean + mvn clean + mvn post-clean.orm

 

 

回到David PPT里面的那个例子,那张PPT slide实际上表明了maven 的另一个生命周期 ,也就是赫赫有名的Default 生命周期生命周期

这个生命周期很长很长,咱们也不必知道他所有细节,咱们只须要知道如下结论:it

mvn install 命令 (咱们命令指向了Default生命周期install阶段 其实是让maven自身跑完Default生命周期的(validate阶段+generate-sources阶段+process-sources阶段+……+install阶段)class

 

 

总之,2句话归纳就是date

1人工键入命令老是指向某生命周期的某阶段 im

2 maven 引擎根据你指向的阶段Pn去跑完  阶段所在的生命周期(Life-Cycle) 该阶段以前  全部阶段(P1+P2+…+Pn-1)