maven的生命周期和插件的关系
生命周期是抽象的,插件是具体的。生命周期是直接提供给用户操作的,但是插件对用户是透明的。Maven的生命周期都是抽象
的,其实际行为都是由插件来完成的。Maven的生命周期是为了对所有的构建过程进行抽象和统一。Maven的生命周期大概包含了
清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建步骤。
每个生命周期包含一些列的阶段(phase)。这些phase就相当于maven提供的的统一接口。然后这些phase的实现由maven的插
件来完成。每个阶段的phase会挂一个火多个goal。goal是maven里定义的最小任务单元。
lifecycle是总任务,phase是总任务分出来的一个个子任务,但是这些子任务是被规格化的,它可以同时被多个lifecycle所包
含 一个lifecycle可以包含任意个phase,phase的执行是按照顺序来的,一个phase可以绑定很多歌goal,至少为一个,没有
goal的phase是没有意义的。
goal是执行任务的最小单元,它可以绑定到任意phase上,一个phase有一个或多个goal,goal的执行也是按照顺序来的,一个
phase被执行的时候,绑定到phase的goal会按照绑定的实际顺序执行。不管phase绑定了多少个goal,你自己定义的goal都可
以继续绑定到phase上。
maven的三大生命周期与其对应的phase阶段
maven总共包含胆大生命周期:
1.clean lifecycle:清理生命周期,用于清理项目。
2.default lifecycle:默认生命周期,用于编译、打包、测试、部署等。
3.site lifecycle:站点生成文档,用于构建站点文档。
| 生命周期(lifecycle) |
阶段(phase) |
描述(describe) |
| clean lifecycle |
pre-clean |
预清理 |
| clean lifecycle |
clean |
清理 |