Maven 生命周期

1. Maven生命周期

Maven有三个生命周期:clean生命周期、default生命周期、site生命周期

生命周期可以理解为项目构建的步骤集合。

生命周期是由多个阶段(Phase)组成。每个阶段都是一个完整的功能,比如mvn clean中的clean就是一个阶段。

在maven中,只要在同一个生命周期,你执行后面的阶段,那么前面的阶段也会被执行,而且不需要额外去输入前面的阶段,这样大大减轻了程序员的工作。

1.1. Clean生命周期

1
2
3
pre-clean 执行一些需要在clean之前完成的工作 
clean 移除所有上一次构建生成的文件
post-clean 执行一些需要在clean之后立刻完成的工作

1.2. Default生命周期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
validate 
generate-sources
process-sources
generate-resources
process-resources 复制并处理资源文件,至目标目录,准备打包。
compile 编译项目的源代码。
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources 复制并处理资源文件,至目标测试目录。
test-compile 编译测试源代码。
process-test-classes
test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
prepare-package
package 接受编译好的代码,打包成可发布的格式,如 JAR 。
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装至本地仓库,以让其它项目依赖。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。

1.3. Site生命周期

1
2
3
4
pre-site 执行一些需要在生成站点文档之前完成的工作 
site 生成项目的站点文档
post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy 将生成的站点文档部署到特定的服务器上

2. 阶段、插件和目标

生命周期的各个阶段仅仅定义了要执行的任务是什么

各个阶段和插件的目标是对应的

相似的目标由特定的插件来完成

Phase plugin:goal
process resources:resources
compile compiler:compile
process resources:testResources
test compiler:testCompile
test surefire:test
package jar:jar
install install:install
deploy deploy:deploy
panchaoxin wechat
关注我的公众号
支持一下