1. 生命周期What?
Maven一般能自动化执行的生命周期有清理、编译、测试、打包,部署。
2. 生命周期详解
2.1 三套生命周期
2.1.1 clean生命周期
- pre-clean:清理前的准备工作
- clean:清理上一次构件的输出文件
- post-clean:清理后完成的工作
2.1.2 default生命周期
- validate
- initialize
- generate-sources
- process-sources:处理主资源文件(一般目录:project/src/main/resources
- generate-resources
- process-resources
- compile:编译项目主代码(一般目录:project/src/main/java)
- process-class
- generate-test-sources
- process-test-sources
- generate-test-resources
- process-test-resources
- test-compile:编译项目测试代码(一般目录:project/src/test/java)
- process-test-classess
- test:单元测试
- prepare-package
- package 打包可发布的格式
- pre-integration-test
- integration-test
- post-integration-test
- verify
- install:将包安装到Maven本地仓库
- deploy:将最终的包复制到远程仓库
2.1.3 site生命周期
- pre-site:执行生成项目站点之前的工作
- site:生成项目站点文档
- post-site:执行生成项目站点之后的工作
- site-deploy:将生成的项目站点发布在服务器
2.1.4 命令行与生命周期
1、mvn clean:执行clean生命整个周期
2、mvn test:执行default生命周期的test阶段
3、mvn clean install:执行clean生命整个周期和default生命周期的install阶段
4、mvn clean deploy site-deploy:执行clean生命整个周期和default生命整个周期以及site周期的site-deploy的阶段
3. 插件绑定
3.1 内置绑定
clean生命周期与插件目标的绑定关系
生命周期阶段 | 描述 | 插件目标 |
---|---|---|
pre-clean | 清理前的准备工作 | maven-clearn-plugin:clean |
clean | 清理上一次构件的输出文件 | maven-clearn-plugin:clean |
post-clean | 清理后完成的工作 | maven-clearn-plugin:clean |
site生命周期与插件目标的绑定关系
生命周期阶段 | 描述 | 插件目标 |
---|---|---|
pre-site | 执行生成项目站点之前的工作 | maven-site-plugin:site |
site | 生成项目站点文档 | maven-site-plugin:site |
post-site | 执行生成项目站点之后的工作 | maven-site-plugin:site |
site-deploy | 将生成的项目站点发布在服务器 | maven-site-plugin:deploy |
default生命周期与插件目标的绑定关系
生命周期阶段 | 描述 | 插件目标 |
---|---|---|
process-sources | 复制主资源文件至输入目录 | maven-resources-plugin:resources |
compile | 复制主代码文件至输入目录 | maven-compile-plugin:compile |
process-test-sources | 复制测试资源文件至输入目录 | maven-resources-plugin:testResources |
test-compile | 复制测试代码文件至输入目录 | maven-compile-plugin:test |
test | 执行测试用例 | maven-surefire-plugin:test |
package | 创建项目jar | maven-jar-plugin:jar |
install | 将项目输出构件安装至本地仓库 | maven-install-plugin:install |
deploy | 将项目输出构件部署至远程仓库 | maven-deploy-plugin:deploy |