Maven的声明周期(Lifecycle )和命令(Phase)
生命周期(Lifecycle )
Maven有三套相互独立的生命周期(Lifecycle ):
- Clean Lifecycle:做一些清理工作;
- Default Lifecycle:构建的核心部分、编译、测试、打包、部署等;
- Site Lifecycle:生成项目报告、站点、发布站点;

阶段(Phase)
而每套生命周期都是一组阶段(Phase)组成,各套Lifecycle 的Phase如下:
- Clean Lifecycle
- pre-clean 执行一些需要在clean之前完成的工作;
- clean 移除所有上一次构建生成的文件;
- post-clean 执行一些需要在clean之后立刻完成的工作;
- Site Lifecycle
- pre-site 执行一些需要在生成站点文档之前完成的工作;
- site 生成项目的站点文档;
- post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;
- site-deploy 将生成的站点文档部署到特定的服务器上;
- Default Lifecycle
- validate
- initialize
- 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 将最终的包复制到远程的仓库,以让其它开发人员与项目共享;
更多声明周期请参考官方文档。
命令和Phase的关系
我们平时在命令行输入的Maven命令总会对应于一个特定的Phase相对应,如:
mvn pre-clean
这是执行Clean生命周期的第一个Phase,而在运行某个Phase时,Maven会按顺序地把与它同一套中的它之前的Phase也自动执行,如
mvn clean
会先执行pre-clean和clean。
然而到这里没有完,当执行Phase的时候,内部是怎么执行的呢?我们将继续探讨,请参考Maven的插件编写。
Maven的声明周期(Lifecycle )和命令(Phase)的更多相关文章
- maven入门(1-3)maven的生命周期
maven的生命周期 maven的生命周期是抽象的,其实际行为都由插件来完成,引入maven 的 生命周期就是为了对所有的构建过程进行抽象和统一. 这种方式类似于模板方法,模板方法模式在父类中定义 ...
- 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念
1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...
- maven运行时的配置及命令详解
上面是指定端口运行程序的,也可以先指定好,直接在上面的地方写jettty:run 当然,如果你是在控制台运行且安装了maven,直接可以进入项目的文件中:mvn jetty:r ...
- Maven - 深入理解maven构建生命周期和各种plugin插件
作者:亚当-adam 来源:CSDN 原文:https://blog.csdn.net/zhaojianting/article/details/80321488 版权声明:本文为博主原创文章,转载请 ...
- Java-Maven-Runoob:Maven构建生命周期
ylbtech-Java-Maven-Runoob:Maven构建生命周期 1.返回顶部 1. Maven 构建生命周期 Maven 构建生命周期定义了一个项目构建跟发布的过程. 一个典型的 Mave ...
- Maven构建生命周期
以下引用官方的生命周期解释https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html: 一.构建生命 ...
- Maven - 构建生命周期、阶段、目标
版权所有,未经授权,禁止转载 章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Ma ...
- 跟着官方文档学Maven构建生命周期
在IntelliJ IDEA中,显示了Maven的Lifecycle: 只需要学习这些命令,就能构建一个Maven项目. 三个内置生命周期 Maven内置了三个生命周期:clean.default和s ...
- Maven进价:Maven的生命周期阶段
一.Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有的构建步骤. Maven的生命周期 ...
随机推荐
- 最简化模型2——css3分阶段动画效果(经过实测)之转动的div
@keyframes mymove{ 0%{top: 0;left: 0;transform:rotate(50deg);} 10%{top: 100px;left: 50px;trans ...
- 1.4.2.1. FILES(Core Data 应用程序实践指南)
#define debug 1 #pragma mark - FILES NSString *storeFilename = @"Grocery-Dude.sqlite";
- HDU-1994-利息计算
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1994 水题 题目分析 就是两种储存方式,输出所得本金加利息 代码 #include<stdio. ...
- RAC 开启gsd和oc4j服务
Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形.即便如此,并不影响数据库的使用,因为 oc4j 是用于WLM 的一个资源, ...
- Chrome控制台详解
Chrome控制台详解 http://www.codeceo.com/article/chrome-console.html console.log('%casdf','font-size:16px; ...
- 在Node.js中使用RabbitMQ系列二 任务队列
在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心 ...
- jQuery 判断checkbox是否被选中 4种方法
下午写JS验证,有一个需求需要判断 checkbox是否被选择,查阅相关资料后,总结以下4种方法,分享给大家. <!DOCTYPE html> <html lang="en ...
- eclipse自定义new建
Window->Perspective->Customize Perspective->Shortcuts 找到适合的选中然后OK即可
- ROM、RAM、DRAM、SRAM和FLASH的区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- 消费创富会开发模式系统App
消费创富会系统定制开发,消费创富会网页开发模式,消费创富会开发软件,消费创富会系统APP开发,消费创富会平台模式开发,专业开发微信商城分销.公排.全返.分红.互助等模式定制开发,APP.网页版.微信端 ...