生命周期基本概念
Maven的生命周期:包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建步骤。
Maven生命周期的作用:就是为了对所有的构建过程进行抽象和统一。
Maven插件:在Maven的设计中,实际的任务(如编译源代码)都交由插件来完成。每个构建步骤都可以绑定一个或者多个插件行为,而且Maven为大多数构建步骤编写并绑定了默认插件。
Maven定义的生命周期和插件机制联合作用:一方面保证了所有Maven项目有一致的构建标准,另一方面又通过默认插件简化和稳定了实际的项目构建。此外,该机制还提供了足够的扩展空间,用户可以通过配置现有插件或者自行编写插件来自定义构建行为。
生命周期详解
Maven拥有三套相互独立的生命周期,它们分别为clean、default和site。clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site生命周期的目的是建立项目站点。
三套生命周期本身是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其它生命周期产生任何影响。
clean生命周期包含三个阶段,default生命周期定义了真正构建时所需要执行的所有步骤,它是生命周期中最核心的部分,包含了将近二十个阶段,site生命周期包含四个阶段。
常用的Maven命令实际都是基于这些阶段简单组合而成的,例子如下:
$mvn clean deploy site-deploy
该命令调用clean生命周期的clean阶段,default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。
插件绑定
clean、site生命周期与插件目标的绑定关系网上即可查找,default生命周期的内置插件绑定关系及具体任务网上也可以找到。
执行Maven命令的时候,输出中包含了生命周期阶段与插件的绑定关系。
除了内置绑定以外,用户还能够自己选择将某个插件目标绑定到生命周期的某个阶段上,这种自定义绑定方式能让Maven项目在构建过程中执行更多更富特色的任务。
完成了插件和生命周期的绑定之后,用户还可以配置插件目标的参数,进一步调整插件目标所执行的任务,以满足项目的需求。几乎所有Maven插件的目标都有一些可配置的参数,个人喜欢在POM配置文件中进行配置,当然通过命令行也可以配置这些参数。
文章仅供参考,代码并不是全正确,只需要知道在对应的情况,可以做对应的处理,代码是变化的,我相信原理不变