栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven的生命周期

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven的生命周期

一、生命周期简介:

Maven强大的一个重要的原因是它有一个十分完善的生命周期模型,这个生命周期可以从两方面来理解:
运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单。
这个模型是一种标准,在不同的项目中,使用Maven的接口是一样的,这样就不用去仔细理解每个项目的构建了,一般情况下,mvn clean install 这样的命令是通用的。
Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于Java设计模式中的模板模式。

生命周期与插件关系
Maven有三套相互独立的生命周期,分别是clean、default和site。每个生命周期包含一些阶段,阶段是有顺序的,后面的阶段依赖于前面的阶段。

二、clean生命周期:

清理项目,该生命周期包含三个阶段:

  1. pre-clean:执行一些需要在clean之前完成的工作。
  2. clean:清理上一次构建生成的文件。
  3. post-clean:执行清理后需要完成的工作。

mvn clean中的clean就是上面的clean。在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,mvn clean 等同于mvn pre-clean clean,如果我们运行mvn post-clean ,那么pre-clean,clean都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。

三、default生命周期:

构建项目,该生命周期包含了如下8个阶段:

  1. validate:验证工程是否正确,所有需要的资源是否可用。
  2. compile:编译项目的源代码。
  3. test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
  4. Package:把已编译的代码打包成可发布的格式,比如jar。
  5. integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
  6. verify:运行所有检查,验证包是否有效且达到质量标准。
  7. install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
  8. Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
四、site生命周期:

建立和发布项目站点,该生命周期包含四个阶段,如下所示:

  1. pre-site:生成项目站点之前需要完成的工作。
  2. site:生成项目站点文档。
  3. post-site:生成项目站点之后需要完成的工作。
  4. site-deploy:将项目站点发布到服务器。
    这里经常用到的是site阶段和site-deploy阶段,用以生成和发布Maven站点,这可是Maven相当强大的功能,管理员比较喜欢,文档及统计数据自动生成,很好看。
五、Maven指令与生命周期阶段的关系:

首先我们通过下图看一下Maven的整个生命周期顺序流程:

通过上图,我们可以看到Maven生命周期各个阶段的行为与Maven默认行为:

  1. mvn compile,让当前项目经历生命周期中的1—>7 阶段 :完成编译主源代码编译
  2. mvn package,让当前项目经历生命周期中的1—>17阶段 :完成打包
  3. mvn install,让当前项目经历生命周期中的1—>22阶段 :完成包安装到本地仓库
  4. mvn deploy,让当前生命经历生命周期中的1—>23阶段 :完成包部署到中心库中
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644460.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号