03初识Maven核心概念(上)

1.POM(项目对象模型-Project Object Model)概述http://i.cnblogs.com/EditPosts.aspx?postid=5050993

  项目的属性、依赖、构建配置这些信息都被抽象到项目对象模型中,POM主要分为:

  项目基本信息(General Project Information)

        项目名称、项目官方网站、发起组织以及项目的开发者、共建者列表和许可证信息等

  构建环境(Build Environment)

    包括在不同的环境激活的profile

  POM关系(POM Relationships)

  构建设置(Build Settings)  

  mvn help:effective-pom查看所有实际生效的pom文件

2.插件和目标

  mvn archetype:generate

  archetype:插件名称

  generate: 目标名称

mvn archetype:generate的含义是使Maven执行archetype插件的generate目标

Maven执行插件目标的基本语法是:

pluginId:goalId(插件Id:目标Id)

  goalId:是一个工作单元  

  pluginId:是一个或者多个目标的集合

  由此可以看出Maven实际上是一个插件的框架,核心本质上不执行任何的构建任务,所有的任务都是交给插件去完成的,用户可以通过两种方式来调用插件的目标:

  1)将插件的目标与生命周期绑定,执行生命周期 例如:mvn package

    Maven中项目的生命周期阶段是指项目的构建过程,包含了项目一系列的有序的阶段,每一个阶段就是构建过程中的一个步骤。Maven可以支持许多不同的生命周期,最常用的就是Maven的默认生命周期,在这个生命周期中,最开始的一个阶段是验证项目的基本完整性,最后一个阶段是将一个项目发布成一个产品。

   一个简化的项目生命周期阶段如下:

    资源文件处理--编译--类文件处理--测试资源处理--测试--打包

  2)直接执行插件目标 例如:mvn archetype:generate

常见的Maven插件:

  A.maven-archetype-plugins(项目骨架结构插件)

  B.maven-dependency-plugin(帮助分析项目依赖)

  C.maven-help-plugin(辅助插件)

  D.maven-resources-plugin(提供详细的项目结构,独立管理Java代码文件和资源文件)

  E.maven-surefire-plugin(用来执行测试单元)

  F.jetty-maven-plugin(内置jetty容器,可以通过命令,将项目运行在jetty容器中)

  G.maven-enforcer-pliugin(允许创建一系列规则,然后强制遵守)

 以上两者的关系:

  插件目标可以绑定在证明周期之上,一个生命周期阶段可以绑定多个插件目标,随着Maven生命周期的移动,会自动执行绑定在该阶段的插件目标,每个阶段可以绑定也可以不绑定插件目标,可以绑定一个也可以绑定多个插件目标

 

posted @ 2015-12-16 14:06  行者_2014  阅读(177)  评论(0编辑  收藏  举报