一.概述
Maven生命周期是为了对所有的构建过程进行统一和抽象。Maven的生命周期一套高度完善、易扩展的生命周期。几乎所有项目的构建,都能映射到这样一个生命周期上。
Maven的生命周期是抽象的,也就是说生命周期本身不做任何事。实际的任务是由插件来完成。
二.三套生命周期
Maven中有三套相互独立的生命周期,分别是:
- clean 用于清理项目
- default 构建项目
- site 建立项目站点
每个生命周期都包含一些阶段(phase),这些阶段都是有序的,并且后面的阶段依赖于前面的阶段,用户和Maven的最直接的交互方式就是调用这些生命周期阶段。
用户可以调用某个生命周期中的某个阶段,也可同时调用多个不同生命周期中的某个阶段。
1.clean生命周期
- pre-clean 执行一些清理之前需要完成的工作
- clean 清理上一次构建生成的文件
- 执行一些清理之后需要完成的工作
2.default生命周期
- validate
- initialize
- generate-sources
- process-sources 处理项目主资源文件。一般来说,是对src/main/resources目录中的内容进行变量替换等工作后, 复制到项目输出的主classpath目录中。
- generate-resources
- process-resources
- compile 编译项目的主源码
- process-clasess
- generate-test-sources
- process-test-sources
- generate-test-resources
- test-compile
- test
- prepare-package
- package
- pre-integrateion-test
- integration-test
- post-integration-test
- verify
- install
- deploy
3.site生命周期
- pre-site
- site
- post-site
三.命令行与生命周期
mvn clean:执行clean生命周期中clean及之前阶段
mvn test:执行default生命周期中的test及之前阶段
mvn clean install:执行clean生命周期中clean及之前阶段,然后执行default生命周期中的install及之前阶段
mvn clean deploy site-deploy