maven有3套相互独立的生命周期:
-
Clean Lifecycle,在进行真正的构建之前进行一些清理工作
-
Default Lifecycle,构建的核心部分,编译,测试,打包,部署等
-
Site Lifecycle,生成项目报告,站点,发布站点
每套什么周期由一组阶段(phase)组成,在命令行输入的命令总会对应一个阶段,比如
- maven clean,这个clean 是clean周期的一个阶段
Clean生命周期包含了3个阶段:
Clean周期的阶段 | |
---|---|
pre-clean | 执行需要在clean前完成的工作 |
clean | 移除所有上一次构建生成的文件 |
post-clean | 执行一些在clean之后的工作 |
Site生命周期包含了4个阶段:
Site周期的阶段 | |
---|---|
pre-site | 执行需要在clean前完成的工作 |
site | 移除所有上一次构建生成的文件 |
post-clean | 生成站点之后的工作 |
site-deploy | 将生成的战斗文档部署到特定的服务器 |
maven最重要的生命周期是Default,绝大部分工作都发生在这个生命周期中。常用的阶段如下:
Default常用阶段 | |
---|---|
process-resource | 复制并处理资源文件至目标目录 |
compile | 编译项目源码 |
test-compile | 编译测试源代码 |
test | 使用合适的单元测试框架运行测试,这些测试代码不会被打包部署 |
package | 接受编译好的代码,打包发布的格式,如:jar |
install | 将包安装到本地仓库 |
deploy | 将最终的包复制到远程仓库 |
在一个生命周期中,运行任何一个阶段,它前面的所有阶段都会被运行。如:
mvn install # -- 代码会编译,测试,打包
maven的插件机制完全依赖maven的生命周期