maven实战 读书笔记四#高级程序员进阶之路#

 第7章 生命周期和插件

其实,maven有三套相互独立的生命周期,它们分别是clean,default,site。clean生命周期的目的是清理项目,default生命周期的目的是构建项目,site生命周期的目的是建立项目站点。每个生命周期都包含一些阶段(phase),这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和maven最直接的交互方式就是调用这些生命周期阶段。以clean生命周期为例,它包含的阶段有pre-clean,clean,post-clean。当用户调用pre-clean时,只执行pre-clean阶段;当用户调用clean时,pre-clean和clean阶段都被执行;当用户调用post-clean时,pre-clean,clean,post-clean会被顺序执行。我们可以看出,三套生命周期是相互独立的,但是阶段之间是有依赖顺序的。

site生命周期包含pre-site,site,post-site,site-deploy四个阶段;default生命周期包含的阶段就太多了,这里不赘述了。

命令行和生命周期

从命令行执行maven命令的最主要方式就是在调用生命周期的阶段。常见的一些maven命令的生命周期阶段关系如下:

"mvn clean":该命令调用clean生命周期的clean阶段,实际执行的是pre-clean,clean阶段。

"mvn test":该命令调用default生命周期的test阶段,实际执行的阶段为default生命周期的validate、initialize等,知道test的所有阶段。

"mvn clean install":该命令调用clean生命周期的clean阶段和default生命周期的install阶段。实际执行的是clean生命周期的pre-clean,clean两个阶段,以及default生命周期从validate到install的所有阶段。

"mvn clean deploy site-deploy":该命令调用clean生命周期的pre-clean,clean阶段,default生命周期从validate~deploy所有阶段,以及site生命周期的pre-site~site-deploy所有阶段。

生命周期阶段和插件目标绑定的,在生命周期的阶段被调用的时候,绑定的插件目标就会执行相应的任务。(一个maven插件可以完成多个功能,每个功能就是一个目标。) 

 

 

 

 

你可能感兴趣的:(java,maven,pom,休闲,高级程序员进阶之路)