首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Maven生命周期

Maven生命周期

原创
作者头像
陈不成i
修改2021-06-29 14:37:20
修改2021-06-29 14:37:20
5160
举报
文章被收录于专栏:ops技术分享ops技术分享

一.简介

maven把项目的构建划分为不同的生命周期(lifecycle)。粗略一点的话,它这个过程(phase)包括:编译、测试、打包、集成测试、验证、部署。maven中所有的执行动作(goal)都需要指明自己在这个过程中的执行位置,然后maven执行的时候,就依照过程的发展依次调用这些goal进行各种处理。

这个也是maven的一个基本调度机制。一般来说,位置稍后的过程都会依赖于之前的过程。当然,maven同样提供了配置文件,可以依照用户要求,跳过某些阶段。

三种生命周期

下面列出了default、clean和site生命周期的所有构建阶段,这些阶段按照指定的顺序执行。

  1. Clean Lifecycle 在进行真正的构建之前进行一些清理工作
  2. Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等
  3. Site Lifecycle 生成项目报告,站点,发布站点

注意:执行某个生命周期的某个阶段不会影响其它的生命周期!

如果要同时执行多个生命周期的阶段可在命令行输入多个命令,中间以空格隔开,例如: clean package 该命令执行clean生命周期的clean阶段和default生命周期的package阶段。

clean生命周期
代码语言:javascript
复制
执行阶段    描述说明
pre-clean    在实际的项目清理之前执行所需的过程
clean    删除前一个构建生成的所有文件
post-clean    执行完成项目清理所需的过程
Default生命周期
代码语言:javascript
复制
执行阶段    描述说明
validate    验证项目是正确的,所有必要的信息都是可用的。
initialize    初始化构建状态,例如设置属性或创建目录。
generate-sources    生成包含在编译中的任何源代码。
process-sources    处理源代码,例如过滤任何值。
generate-resources    生成包含在包中的资源。
process-resources    将资源复制并处理到目标目录中,准备打包。
compile    编译项目的源代码。
process-classes    从编译后生成生成的文件,例如在Java类上执行字节码增强。
generate-test-sources    生成包含在编译中的任何测试源代码。
process-test-sources    处理测试源代码,例如过滤任何值。
generate-test-resources    为测试创建资源。
process-test-resources    将资源复制并处理到测试目标目录中。
test-compile    将测试源代码编译到测试目标目录
process-test-classes    从测试编译后post-process生成文件,例如在Java类上执行字节码增强。对于Maven 2.0.5和以上。
test    使用合适的单元测试框架运行测试。这些测试不应该要求打包或部署代码。
prepare-package    在实际包装前执行必要的准备工作。这通常会导致包的一个未打包的、经过处理的版本。(Maven 2.1及以上)
package    使用已编译的代码,并将其打包成可部署格式,例如JAR。
pre-integration-test    执行集成测试之前需要执行的操作。这可能涉及到设置所需的环境等问题。
integration-test    在需要集成测试的环境中,处理并部署包。
post-integration-test    执行集成测试后所需要的操作。这可能包括清理环境。
verify    运行任何检查以验证包是否有效,并满足质量标准。
install    将该包安装到本地存储库中,作为本地其他项目的依赖项。
deploy    在集成或发布环境中完成,将最终包复制到远程存储库中,以便与其他开发人员和项目共享。

Site生命周期

代码语言:javascript
复制
执行阶段    描述说明
pre-site    在实际的项目站点生成之前执行过程
site    生成项目的站点文档
post-site    执行确定站点生成的过程,并为站点部署做好准备
site-deploy    将生成的站点文档部署到指定的web服务器

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.简介
  • 三种生命周期
    • clean生命周期
    • Default生命周期
    • Site生命周期
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档