Maven实战-4.Maven生命周期

1.三套生命周期

Maven拥有三套独立的生命周期,它们分别是clean、default和site。

clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site生命周期的目的是建立项目站点。

每个生命周期包含一些阶段(phase),这些阶段是有顺序的,并且后面的阶段依赖前面的阶段,用户和Maven交互的最直接方式就是调用这些生命周期的阶段。以clean生命周期为例,它的阶段包含pre-clean,clean和post-clean,当用户调用pre-clean的时候,只有pre-clean阶段执行了;当用户调用了clean阶段时,pre-clean和clean都得以执行。

三套生命周期互相独立,调用clean生命周期不会影响或执行default和site生命周期的任何阶段。

2.clean生命周期

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

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

3.default生命周期

default生命周期定义了真正的构建时所需要执行的所有步骤,它是生命周期中最核心部分,包含以下阶段(这里只对重要阶段做出解释):

  1. validate:
  2. initialize:
  3. generate-sources:
  4. process-sources:处理项目主资源文件,一般来说,是对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classpath中。
  5. generate-resources:
  6. process-resources:
  7. compile:编译项目主代码,一般来说,是对src/main/java目录下的java文件复制到项目输出的主classpath目录中。
  8. process-classes:
  9. generate-test-sources:
  10. process-test-sources:处理项目测试资源文件,一般来说,是对src/test/resources目录的内容进行变量替换等工作后,复制到项目输出的测试classpath中。
  11. generate-test-resources:
  12. process-test-resources:
  13. test-compile:编译项目测试代码,一般来说,是对src/test/java目录下的java文件复制到项目输出的测试classpath目录中。
  14. process-test-classes:
  15. test:使用单元测试框架运行测试,测试代码不会被打包部署。
  16. prepare-package:
  17. package:接受编译好的代码,打包成可发布格式,如jar。
  18. pre-integration-test:
  19. integration-test:
  20. post-integration-test:
  21. verify:
  22. install:将输出构件安装到Maven的本地仓库,供其他项目使用。
  23. deploy:将最终的输出构件复制到远程仓库,供其他人和项目使用。

4.site生命周期

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

  1. pre-site:执行一些生成项目站点文档之前需要完成的工作。
  2. site:生成项目站点文档。
  3. post-site:执行一些生成项目站点文档之后需要完成的工作。
  4. site-deploy:将生成的项目站点发布到服务器上。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值