[Maven]2, pom文件以及三个生命周期

转载 2016年05月30日 16:50:49

1,简单的pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <groupId>com.mycompany.app</groupId>  
  5.   <artifactId>my-app-simple</artifactId>  
  6.   <packaging>jar</packaging>  
  7.   <version>1.0</version>  
  8.   <name>my-app-simple</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   <dependencies>  
  11.     <dependency>  
  12.       <groupId>junit</groupId>  
  13.       <artifactId>junit</artifactId>  
  14.       <version>3.8.1</version>  
  15.       <scope>test</scope>  
  16.     </dependency>  
  17.   </dependencies>  
  18. </project> 
2,Maven生命周期

1. 三套生命周期
    Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。
每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。
以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post clean。当用户调用pre-clean的时候,只有pre-clean得以执行,当用户调用clean的时候,pre-clean和clean阶段会得以顺序执行;当用户调用post-clean的时候,pre-clean,clean,post-clean会得以顺序执行。

较之于生命周期阶段的前后依赖关系,三套生命周期本身是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。

2. clean 生命周期

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

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

     2)clean 清理上一次构建生成的文件。

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

 

3. 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)  post integration-test

       21)  verify

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

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

       

 

4. site 生命周期

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

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

      2)site 生成项目站点文档

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

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


相关文章推荐

maven生命周期及pom.xml解析

完整的项目构建过程: 清理、编译、测试、打包、集成测试、验证、部署 maven生命周期: clean清理项目(包含以下阶段) pre-clean 执行清理前的工作 clean清理上一次构建生...
  • cjq2013
  • cjq2013
  • 2017年08月06日 18:48
  • 38

关于 maven生命周期 最新 最全

  • 2017年04月03日 17:08
  • 17KB
  • 下载

maven生命周期

  • 2015年03月04日 19:25
  • 50KB
  • 下载

Apache Maven 2 简介||||||Maven 2 默认生命周期的各阶段

生命周期阶段 描述 验证 确保当前配置和 POM 的内容是有效的。这包含对 pom.xml 文件树的验证。 初始化 在执行构建生命周期的主任务之前可以进行初始化。 ...

Android中service基本用法,生命周期2

  • 2014年12月23日 16:08
  • 1.26MB
  • 下载

从merger方法看hibernate对象生命周期的三个状态

下面来讲讲Hibernate的merge方法。我打算按照hibernate对象生命周期的三个状态来讲。 1:如果POJO对象处于游离态,我所说的游离态是指该对象的id值为空。hibernate判...
  • sqjhwl
  • sqjhwl
  • 2013年05月07日 09:36
  • 531

Maven中的坐标,仓库,插件和生命周期

Maven中的坐标和仓库构件的定义:在maven中,任何一个依赖、插件、项目构建的输出等都可以被称为构件。所有构建均通过坐标作为其唯一的标识。 坐标的概念:Maven世界中唯一标识一个构件的标识,一般...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Maven]2, pom文件以及三个生命周期
举报原因:
原因补充:

(最多只允许输入30个字)