Maven的生命周期和插件

1.Maven的生命周期就是为了对所有的构建过程进行抽象和统一。这个生命周期包括项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建步骤。而且Maven为大多数构建步骤编写并绑定了默认插件。例如,针对编译的插件有maven-compiler-plugin针对测试的插件有maven-surefire-plugin等。

 

 

 

 

2.Maven拥有三套相互独立的生命周期clean生命周期的目的是清理项目default生命周期的目的构建项目,而site生命周期的目的是建立项目站点。每一个生命周期包含一些阶段。

1.      clean生命周期的目的是清理项目

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

     Clean清理上一次构建生成的文件。

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

2.      default生命周期

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

validate

initialize

generate-sources

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

Generate-resources

Process-resources

Compile:编译项目的主源码。一般来说,是编译src/main/java目录下的java文件至项目输出的主classpath目录中。

Process-classess

Generate-test-sources

Process-test-sources处理项目测试资源文件。一般来说,是对src/test/resources目录的内容进行变量替换等工作后,复制到项目输出的测试classpath目录中。

Generate-test-resources

Process-test-resources

Test-compile 编译项目的测试代码。一般来说,是编译src/test/java目录下的java文件至项目输出的测试classpath目录中。

Process-test-classess

Test:使用单元框架运行测试,测试代码不会被打包和部署。

Propare-package

Package:接受编译好的代码,打包成可发布的格式。如jar

Pre-integration-test

Integration-test

Post-integration-test

Verify

Install:将包安装到maven本地仓库,供本地其它maven项目使用。

Deploy:将最终的包复制到远程仓库,供其他开发人员和maven项目使用。

3.      site生命周期:建立和发布项目站点

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

Site:生成项目站点文档。

Post-site:执行一些在生成项目站点之后需要完成的工作。

Site-deploy:将生成的项目站点发布到服务器上。

从命令行执行maven任务的最主要方式就是调用maven的生命周期阶段

Mvn clean:调用clean生命周期的clean阶段。

Mvn test:调用default生命周期的test阶段。

Mvn clean intatll:调用clean生命周期的clean阶段和default生命周期的install阶段。

Mvn clean deploy site-deploy:该命令调用clean生命周期的clean阶段、default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。

4.插件和生命周期的绑定

 

总结:当我们输入maven 命令的时候,就是调用maven生命周期,maven的生命周期会调用插架目标去执行相应的任务

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值