【Maven】什么是Maven以及其生命周期

什么是Maven

关于定义是这么写的:Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑

简单的说,Maven将一个项目进行对象化,然后在其pom.xml文件中进行各种配置,从而完成在其生命周期内的打包等各种逻辑,另外,Maven能够有效率的管理各种jar包,并且在pom文件中配置后,使用jar包时去会自动从库中下载,而不需要我们到处去一个一个寻找jar包,然后一个一个的添加jar包,提高了开发效率。


Maven的生命周期

开发项目的时候,不断地在编译、测试、打包、部署等过程,maven的生命周期就是对所有构建过程抽象与统一,生命周期包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成等几乎所有的过程。

Maven 有三套相互独立的生命周期:
1)CleanLifecycle 在进行真正的构建之前进行一些清理工作。
2)DefaultLifecycle 构建的核心部分,编译,测试,打包,部署等等。
3)SiteLifecycle 生成项目报告,站点,发布站点。

生命周期本身相互独立,用户可以仅仅调用生命周期的某一个阶段,也就是说用户调用了default 周期的任何阶段,并不会触发clean 周期以及site 周期的任何事情。


clean 周期:

pre-clean:准备清理
clean:真正的清理工作
post-clean:执行清理后的一些后续工作

default 周期:

validate:验证
initialize:初始化配置
generate-sources:生成源代码编译目录
process-sources:处理项目主资源文件,复制资源文件到outputclasspath
generate-resources:生成资源目录
process-resources:处理资源文件
complie:编译源代码
process-classes:处理编译后文件
generate-test-sources:生成测试目录
process-test-sources:处理项目测试资源文件,复制测试资源文件到outputclasspath
generate-test-resources:生成测试资源文件
process-test-resources:处理测试资源文件
test-compile:编译测试代码
process-test-classes:处理测试代码
test:单元测试运行测试代码
prepare-package:打包前的准备
package:将编译好的代码打包成为jar 或者war 或者ear 等等
pre-integration-test:准备整体测试
integration-test:整体测试
post-integration-test:为整体测试收尾
verify:验证
install:安装到本地Maven 库
deploy:将最终包部署到远程Maven 仓库

如图:

site 周期:

pre-site:准备生成站点
site:生成站点及文档
post-site:站点收尾
site-deploy:将生成的站点发布到服务器上

需要注意的是:在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行。

比如说在命令行执行了mvn clean,clean 周期的clean 阶段,也就是说实际执行了pre-clean 阶段与clean 阶段。

mvn deploy,就是执行了整个default 生命周期。

mvn clean deploy site-deploy这个就是执行了clean 周期的前两个阶段、default 周期的所有阶段、site 周期的所有阶段。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值