第七章 生命周期和插件
    7.2  生命周期详解
    7.2.1  三套生命周期
    Maven拥有三套相互独立的生命周期,它们分别为clean、default和site。clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site生命周期的目的是建立项目站点。

    7.2.2  clean生命周期
    包含三个阶段是:
    1)    pre-clean执行一些清理前需要完成的工作。
    2)    clean清理上一次构建生成的文件。
    3)    post-clean执行一些清理后需要完成的工作。

    7.2.3  default生命周期

  •     validate
  •     initialize
  •     generate-sources
  •     process-sources处理项目主资源文件。一般来说,是对src/main/resources目录的内容进行变更替换等工作后,复制到项目输出的主classpath目录中。
  • generate-resources
  • process-resources
  • compile编译项目的主源码。一般来说,是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。
  • process-classes
  • generate-test-sources
     …

    7.2.4  site生命周期

  •     pre-site执行一些在生成项目站点之前需要完成的工作。
  •     site生成项目站点文档。
  •     post-site执行一些在生成项目站点之后需要完成的工作。
  •     site-deploy将生成的项目站点发布到服务器上。


    7.2.5  命令行与生命周期
    从命令行执行Maven任务的最主要方式就是调用Maven的生命周期阶段。需要注意的是,各个生命周期是相互独立的,而一个生命周期的阶段是有前后依赖关系的。

  •     mvn clean:该命令调用clean生命周期的clean阶段。实际执行的阶段为clean生命周期的pre-clean和clean阶段。
  •     mvn test:该命令调用default生命周期的test阶段。实际执行的阶段为default生命周期的validate、initialize等,直到test的所有阶段。
  •     mvn clean install:该命令调用clean生命周期的clean阶段和default生命周期的install阶段。实际执行的阶段为clean生命周期的pre-clean、clean阶段、以及default生命周期的从validate至install 的所有阶段。该命令结合了两个生命周期,在执行真正的项目构建之前清理项目是一个很好的实践。
  •     mvn clean deploy site-deploy:该命令调用clean生命周期的clean阶段、default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。实际执行的阶段为clean生命周期的pre-clean、clean阶段,default生命周期的所有阶段,以及site生命周期的所有阶段。该命令结合了Maven所有三个生命周期,且deploy为default生命周期的最后一个阶段。site-deploy为site生命周期的最后一个阶段。


    7.3  插件目标
    通用写法:插件:目标。