maven概念介绍

Maven概念
Maven 项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
   一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs.

 

Maven的生命周期

 

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

 

       Clean Lifecycle在进行真正的构建之前进行一些清理工作。
  Default Lifecycle构建的核心部分,编译,测试,打包,部署等等。
  Site Lifecycle生成项目报告,站点,发布站点。
  每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。

 

  较之于生命周期阶段的前后依赖关系,三套生命周期本身是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。
  1. clean生命周期
        clean生命周期的目的是清理项目,它包含三个阶段:
       1)pre-clean 执行一些清理前需要完成的工作。
       2)clean 清理上一次构建生成的文件。
       3)post-clean 执行一些清理后需要完成的工作。

 

  2. 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)  postintegration-test

 

         21)  verify

 

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

 

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

 

site生命周期

 

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

 

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

 

        2)site 生成项目站点文档

 

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

 

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

更多免费技术资料可关注:annalin1203

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章