Maven实战(四)生命周期

1. 三套生命周期 
    Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。 
每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 
以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post clean。当用户调用pre-clean的时候,只有pre-clean得以执行,当用户调用clean的时候,pre-clean和clean阶段会得以顺序执行;当用户调用post-clean的时候,pre-clean,clean,post-clean会得以顺序执行。

较之于生命周期阶段的前后依赖关系,三套生命周期本身是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。

2. clean 生命周期

clean生命周期的目的是清理项目,它包含三个阶段:

1)pre-clean 执行一些清理前需要完成的工作。

2)clean 清理上一次构建生成的文件。

3)post-clean 执行一些清理后需要完成的工作。

3. default 生命周期

default生命周期定义了真正构件时所需要执行的所有步骤,它是生命周期中最核心的部分,它包含的阶段如下:

1) validate 验证项目是否正确和所有需要的相关资源是否可用

2) initialize 初始化构建

3) generate-sources

4)   process-sources 处理源代码

5) generate-resources

6)   process-resources 处理项目主资源文件。对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中。

7) compile 编译项目的主源代码

8) process-classes

9)   generate-test-sources

10) process-test-sources 处理项目测试资源文件

11)generate-test-resources

12)  process-test-resources 处理测试的资源文件

13)test-compile 编译项目的测试代码

14)process-test-classes

15)  test 使用单元测试框架运行测试,测试代码不会被打包或部署

16)prepare-package 做好打包的准备

17)package 接受编译好的代码,打包成可发布的格式

18)  pre-integration-test

19)  integration-test

20)  post integration-test

21)  verify

22)  install 将包安装到Maven本地仓库,供本地其他Maven项目使用

23)deploy 将最终的包复制到远程仓库,供其他开发人员和Maven项目使用

4. site 生命周期

site生命周期的目的是建立和发布项目站点,Maven能够基于POM所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。该生命周期包含如下阶段:

1)pre-site 执行一些在生成项目站点之前需要完成的工作

2)site 生成项目站点文档

3)post-site 执行一些在生成项目站点之后需要完成的工作

4)site-deploy 将生成的项目站点发布到服务器上

时间: 2024-12-15 01:54:58

Maven实战(四)生命周期的相关文章

Maven的构建生命周期理解

以下引用官方的生命周期解释https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html: 一.构建生命周期基础: Maven基于构建生命周期的中心概念.这意味着构建和分发特定工件(项目)的过程被明确定义. 对于构建项目的人员,这意味着只需要学习一小堆命令即可构建任何Maven项目,POM将确保他们获得所需的结果. 有三个内置的生命周期:默认(default),清洁(clean)和站点(site).在

项目构建之maven篇:6.生命周期与插件

项目生命周期 清理 初始化 编译 测试 打包 部署 三套生命周期 1.clean pre-clean 执行一些需要在clean之前完成的工作 clean 移除所有上一次构建生成的文件 post-clean 执行一些需要在clean之后立刻完成的工作 2.compile validate generate-sources process-sources generate-resources process-resources 复制并处理资源文件,至目标目录,准备打包. compile 编译项目的源

【maven详解-生命周期】Maven的生命周期和插件

maven的生命周期是根据我们项目中常见的流程来定义的:清理.编译.测试.打包.集成测试.验证.部署等功能.maven的每个生命周期对应不同的阶段,每个阶段都对应不同的插件. maven定义了三套生命周期:clean.default.site.每个生命周期都包含了一些阶段(phase),三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase.执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase. 1

Maven整理笔记の生命周期和插件

项目构建的生命周期,其实软件开发人员每天都在干这个事,即项目清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等,可以说几乎所有项目的构建都可以映射到这样一个生命周期上. Maven的插件机制是完全依赖Maven的生命周期的. 三套生命周期 Maven的生命周期并不是一个整体,Maven拥有三套独立的生命周期,它们分别是clean\default\site.Clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site的生命周期的目的是建立项目站点. 每个生命

Maven专题3——生命周期与插件

三套生命周期 Maven有3套相互独立的生命周期,用户可以调用某个生命周期的阶段,而不会对其他生命周期产生影响. 每个生命周期包含一些有先后顺序的阶段,后面的阶段依赖于前面的阶段,意味着用户调用后面的生命周期阶段时,同一生命周期中前面的阶段也将被执行. clean生命周期 pre-clean clean post-clean default生命周期 validate initialize generate-sources process-sources generate-resources pr

Maven的三大生命周期

一.Maven的三大生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有的构建步骤. Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于设计模式中的模板方法. 二.三套生命周期 Maven由三套相互独立的生命周期,分别是clean.default和site.每个生命周期包括一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段. 1.clean生命周期

maven入门-- part3 生命周期

简介: Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是: Clean Lifecycle 在进行真正的构建之前进行一些清理工作. Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等. Site Lifecycle 生成项目报告,站点,发布站点. Clean: 每套生命周期都由一组阶段(Phase)组成,我们平时在命令行输入的命令总会对应于一个特定的阶段.比如,运行mvn clean ,这个的clean是Clean生

IDEA中Maven项目的生命周期操作说明

目录 clean-清理操作 变化 结论 compile-编译操作 变化 结论 package-打包操作 变化 结论 install-安装操作 变化 结论 deploy-部署操作 IDEA中对Maven项目做了相当好的支持,专门有个Maven的模块用于进行项目的操作: 上图红框中的内容即开发者经常使用的操作,将英文简单翻译过来,其中文分别为Lifecycle(生命周期).clean(清理).validate(验证).compile(编译).test(测试).package(打包).verify(核

maven插件的生命周期的详细说明(两)

插件配置 定义解释:插件目标 当我们了解了maven插件之后.我们发现假设为每个功能编写一个独立的插件显然是不可取的,由于这些任务背后有非常多能够复用的代码.因此,把这些功能聚集在一个插件里,每个功能我们就称之为一个插件目标. 举个样例: maven-dependency-plugin有十多个目标,每一个目标相应了一个功能 分析项目依赖:dependency:analyze 列出项目依赖树:dependency: tree 列出项目全部已解析的依赖:dependency:list POM中插件全

Maven 系列 七 :Maven的生命周期和插件

一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin.用户也可自行配置或编写插件. 1 . 三套生命周期 Maven定义了三套生命周期:clean.default.site,每个生命周期都包含了一些阶段(phase).三套生命周期相互独立,但各个生