首页 > 其他 > 详细

【Maven入门教程】Maven的基本概念

时间:2015-03-24 01:27:16      阅读:204      评论:0      收藏:0      [点我收藏+]

一、POM(Project Object Model)项目对象模型

Pom在Maven中是一个XML文件,位于项目的根目录下,其包含着项目构建所需要的必要信息,Pom还支持继承,当一个项目中拥有多个模块时,子模块可以继承父模块的Pom。
而我们在之前创建的arazon中Pom文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>info.zhw.arazon</groupId>
  <artifactId>arazon</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Arazon</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
1、project:
         代表着Pom文件的根元素,代表该项目本身
2、modelVersion:
          所使用的Object Model版本,也就是POM模型的版本,这个属性是强制性且不需要修改的(目前)。
3、groupId:
          定义项目属于哪一个组,并分配其唯一的组Id,如项目名为arazon,由组织info.zhw创建,则其groupId为info.zhw.arazon。
4、artifactId:
          定义当前Maven项目在gourp中唯一的ID,如之前Pom文件中的arazon,即定义为该info.zhw组织中一个名为arazon的项目,即artifactId。
5、version:
          artifact的版本,通过groupId,artifactId和version就能唯一确认一个项目。
6、name:
          项目名称,不是必须的。一般与artifactId相近,用于maven生成的文档中。如在上面的例子中,可以直接将name设置为Arazon。
7、url:
          项目的地址
8、description:
          项目的描述
9、dependencies:
          表示项目的依赖。
10、packaging
    artifact打包的方式,默认为jar
 
  如果有想要添加的依赖,步骤如下:
1、进入maven仓库地址(http://mvnrepository.com/),搜索所需依赖。
 
2、如搜索spring,找到所需要的版本后,其会提供所需要的dependency的xml信息,如下:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.1.5.RELEASE</version>
</dependency>
3、将其复制入项目Pom文件的dependencies节点中。
4、则所需要的依赖就能够加入到项目中了

二、Artifact

 
    每一个Artifact由gourpId:artifactId:version组成并唯一识别。意为构件,其实既是软件生产过程中产生的文件。它可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中,否则Maven无法找到(识别)它们。
 

三、Repositories

    仓库,存储Artifact所用,可以是自己的Artifact也可以是别人的Artifact。在Pom中生命dependency后构建项目时会从中央仓库中寻找所需要的Artifact。
    仓库分为远程仓库和本地仓库两种,本地仓库,顾名思义就是在自己本地的仓库,一般由自己构建项目所用过的Artifact和maven的plugin组成。而远程服务器则是网络上的仓库,常用的有maven的中央仓库。
 

四、Build Lifecycle:

    构建过程的生命周期有三种,分别是default(部署),clean(清理),site(文档生成),他们都有不同的生命周期。
    而Lifecycle由phases构成,其中default的生命周期大部分如下:
  • validate 验证项目是否正确以及必须的信息是否可用
  • compile 编译源代码
  • test 测试编译后的代码,即执行单元测试代码
  • package 打包编译后的代码,在target目录下生成package文件
  • integration-test 处理package以便需要时可以部署到集成测试环境
  • verify 检验package是否有效并且达到质量标准
  • install 安装package到本地仓库,方便本地其它项目使用
  • deploy 部署,拷贝最终的package到远程仓库和替他开发这或项目共享,在集成或发布环境完成
  • phases之间会按顺序进行。

【Maven入门教程】Maven的基本概念

原文:http://www.cnblogs.com/sluggard/p/4361317.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!