1.概念关系
生命周期(LifeCircle)由阶段(phase)组成,阶段之间存在先序关系,阶段可以理解为构建过程中的一个步骤,如编译就是一个阶段。
生命周期是maven根据项目构建中常用步骤抽象出了3个内置的生命周期clean、default、site,clean用于清理构建产生的数据,default用于项目部署,site用于生成项目文档。
maven设计为了更灵活,每个阶段可以有不同的实现,这个实现由插件实现,一个插件可以实现多个阶段,即目标。如下图,用Java的继承机制理解,可以把每个阶段Phase都当成一个接口,插件就是实现了多个接口(阶段)的实现类,目标就是Override接口方法的实现方法。
以packaging配置为jar为例 ,default默认的阶段 和绑定的目标如下
生命周期阶段Phase | 插件:目标plugin:goal |
process-resources | maven-resources-plugin:resources |
compile | maven-compiler-plugin:compil |