[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、生命周期、配置文件、库、插件

POM POM代表项目对象模型。是 Maven 中工作的基本单位,这是一个 XML 文件。它始终保存在该项目基本目录中的 pom.xml 文件。 POM 包含的项目是使用 Maven 来构建的,它...
  • m0_37636453
  • m0_37636453
  • 2018年01月12日 17:17
  • 17

Maven (POM+约定+生命周期 + 依赖) 战略分析

什么是Maven?   Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lif Cycle),...
  • u013045552
  • u013045552
  • 2016年06月05日 18:19
  • 661

Maven之——三套生命周期

摘要: 主要是Maven生命周期的概念、三套生命周期分别包含的各个阶段、以及各个阶段定义的目标。...
  • chenghuaying
  • chenghuaying
  • 2014年11月08日 11:44
  • 4041

maven pom文件结构简析

先说明一点,本系列文章可能只提到了maven  20% 的知识,但是基本上这20%的知识就能覆盖真实使用环境中80%的操作了。如需更深一步的学习maven,还是直接去官网看文档的好。 在Java语言中...
  • sxyandapp
  • sxyandapp
  • 2015年09月24日 17:20
  • 5402

Maven的pom.xml文件结构之环境配置profiles

在Maven项目中,可以通过pom.xml定义多个profile,也可以通过settings.xml文件定义多个profile。对于一个profile,如果同时在pom.xml和settings.xm...
  • taiyangdao
  • taiyangdao
  • 2016年09月01日 09:05
  • 5674

Maven中pom文件详解

原文地址:http://blog.csdn.net/zhuxinhua/article/details/5788546 什么是pom?     pom作为项目对象模型。通过xml表示maven项目...
  • tanga842428
  • tanga842428
  • 2017年01月17日 10:57
  • 2642

dubbo实际应用中的完整的pom.xml

org.springframework             spring-core             ${spring.version}                    ...
  • RodJohnsonDoctor
  • RodJohnsonDoctor
  • 2014年09月03日 17:44
  • 14544

史上最全的Maven Pom文件标签详解

  • chen3749102
  • chen3749102
  • 2016年08月26日 14:03
  • 9464

Maven POM文件详解以及继承关系

Maven目录结构 src –main—java src---test---java 所有maven项目都是这样的结构 什么是pom? pom作为项目对象模型。 通过xml表示maven项目,使用...
  • lan12334321234
  • lan12334321234
  • 2017年04月11日 11:41
  • 899

maven 上传jar到私服 pom 以及命令的方式

Maven基础配置—上传jar包到私服   一、配置  server>       id>releasesid>       username>adminusername>       pa...
  • xunwei0303
  • xunwei0303
  • 2017年04月10日 10:44
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Maven]2, pom文件以及三个生命周期
举报原因:
原因补充:

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