生命周期的概念

  IDEA中使用maven构建项目都集中放到了窗口右侧"Maven Projects"中,点击该区域可以直观的看到,maven中几个常用指令都归类为LifeCycle,那么什么是生命周期呢?

  maven的生命周期指的是: 某一阶段的动作是需要在上一阶段的结果上进行的,这样执行任何一个操作其实都是一个阶段一个阶段执行过来的。譬如 编译(compile)前需要先验证(validate),

  测试(test)前需要先编译,那么测试前就需要完整的走完验证(validate)和编译(compile)这两个阶段. 生命周期指的就是这些环环相扣的阶段组成的完整过程。

 

  Maven 有三个内置的生命周期: 默认(default), 清理(clean) 和站点(site);

  清理生命周期:

    在执行mvn clean指令时,就是在执行clean的生命周期,clean的完整生命周期如下  

      • 预清理(pre-clean) : 执行实际项目清理之前所需要的流程
      • 清理(clean): 删除之前构建项目时生成的所有文件
      • 后清理(post-clean):执行完项目的清理工作后的收尾工作

    实际执行时我们只能执行clean 的操作,pre-clean 和 post-clean 无需我们手动操作

  默认生命周期:  

    默认生命周期就是最常用到的,我们的编译,打包,安装,部署全在默认生命周期中。

  默认生命周期(Default lifeCycle)一个简化版本的生命周期如下图:

  

  所以我们在使用maven指令执行某一个操作时,实际上在这个动作之前还有一系列的动作,这些动作都是严格按照上图中的顺序执行

  站点生命周期:

      site lifecycle 由于使用场景有限,暂时还没有研究。站点生命周期如下图:

    

  生命周期的详细理解可以参考这篇博文  

  或者参考《maven实战》

最新文章

  1. 浅谈人脸检测之Haar分类器方法
  2. 不可或缺 Windows Native (12) - C++: 引用类型
  3. JS的splice()方法和slice()方法
  4. Linux1.0源代码编译过程
  5. React开发项目例子
  6. 【新闻】超灵敏MRI技术:照亮人体肺部
  7. c++与c不太相同的一些地方1
  8. [转] Android LocalService与RemoteService理解
  9. thinkphp 中js 实现刷新
  10. CXF WebService整合Spring
  11. ListView嵌套GridView显示不完整的解决方案
  12. C# 用Serializer.ToXml()方法转换成两种格式的XML
  13. Asp.Net SignalR Hub集线器
  14. Linux串口通信之termios结构体说明
  15. 今日头条移动app广告激活数据API对接完整Java代码实现供大家参考》》》项目随记
  16. unittest中更多的测试用例
  17. 分组查询以及having使用
  18. matlab画图变粗脚本
  19. StanFord ML 笔记 第五部分
  20. 资源 | 源自斯坦福CS229,机器学习备忘录在集结

热门文章

  1. 【SDOI2015】bzoj3990 排序
  2. 关于==和equals的探索
  3. Android Animation动画实战(二):从屏幕底部弹出PopupWindow
  4. oralce 分离表和索引
  5. oracle总是使用索引的第一个列
  6. laravel博客后台操作步骤
  7. PHP利用纯真IP数据库在本地实现IP地址信息查询
  8. rsa加密(非对称加密)
  9. 条件随机场(CRF) - 3 - 概率计算问题
  10. 通过PdfiumViewer.dll实现pdf直接从流显示(效果不好)