Maven生命周期

介绍

对于构建项目的人来说,只需要学习一组命令就可以构建任何Maven项目,而 POM 将确保他们获得所需的结果。

每一个构建项目的命令都对应了maven底层的一个插件。

学习maven的生命周期可以帮助加深对maven的理解,以便更好的使用maven和解决使用过程中遇到的问题。

有三个内置的构建生命周期: default, cleansite

  • default 生命周期处理项目部署
  • clean 生命周期处理项目清理
  • site 生命周期处理项目站点文档的创建

构建生命周期的不同阶段

实际上常用到的生命周期,基本都属于 Default 生命周期

阶段描述
validate确认项目是正确的,所有必要的信息都是可用的
compile编译
test测试
package打包
verify验证,对集成测试的结果进行任何检查,以确保满足质量标准
install将包安装到本地存储库中,作为本地其他项目中的依赖项使用
deploy发布

完整的生命周期

Clean 生命周期

Clean 生命周期在日常开发中,也会用到,但远不如 Default 生命周期频繁,例如迁移项目后,一般都需要清理一下,但从名字也能看出来,也仅限于清理。

阶段描述
pre-clean预清理:在实际项目清理之前执行所需的过程
clean清理:删除以前生成的所有文件
post-clean后清理:执行完成项目清理工作所需的流程

Default 生命周期

Default 生命周期在实际开发中是最常用的生命周期

阶段描述
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对测试编译生成的文件进行后处理,参考process-classes
test测试
prepare-package预打包:在包装前进行任何必要的准备工作
package打包:将编译后的代码打包成可分发的格式,例如JAR包
pre-integration-test预集成测试:在执行集成测试之前执行所需的操作
integration-test集成测试:处理和部署到可以运行集成测试的环境中
post-integration-test后集成测试:执行集成测试后所需的操作
verify验证:运行任何检查来验证包是否有效并满足标准
install安装:将包安装到本地存储库中,作为本地其他项目中的依赖项使用
deploy打包:将最终的包复制到远程存储库,以便与其他开发人员和项目共享

Site 生命周期

实际上在日常开发中, Site 生命周期使用的并不多。

阶段描述
pre-site在实际项目站点生成之前执行所需的过程
site生成项目的站点文档
post-site执行完成站点生成和准备站点部署所需的流程
site-deploy将生成的站点文档部署到指定的web服务器

参考:

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值