[Maven]3,坐标

转载 2016年05月30日 17:32:21

转载自:http://tangyanbo.iteye.com/blog/1503946


1.为什么要定义Maven坐标
     在我们开发Maven项目的时候,需要为其定义适当的坐标,这是Maven强制要求的。在这个基础上,其他Maven项目才能应用该项目生成的构件。

2.Maven坐标详解

     Maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组Maven坐标是通过一些元素定义的,它们是groupId,artifactId,version,packaging,class-sifer。下面是一组坐标定义:

  

Xml代码  收藏代码
  1. <groupId>com.mycompany.app</groupId>  
  2.   <artifactId>my-app</artifactId>  
  3.   <packaging>jar</packaging>  
  4.  <version>0.0.1-SNAPSHOT</version>  

 下面讲解一下各个坐标元素:

 

groupId :定义当前Maven项目隶属的实际项目。首先,Maven项目和实际项目不一定是一对一的关系。比如SpringFrameWork这一实际项目,其对应的Maven项目会有很多,如spring-core,spring-context等。这是由于Maven中模块的概念,因此,一个实际项目往往会被划分成很多模块。其次,groupId不应该对应项目隶属的组织或公司。原因很简单,一个组织下会有很多实际项目,如果groupId只定义到组织级别,而后面我们会看到,artifactId只能定义Maven项目(模块),那么实际项目这个层次将难以定义。最后,groupId的表示方式与Java包名的表达方式类似,通常与域名反向一一对应。

 

artifactId : 该元素定义当前实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。比如上例中的my-app。

 

version : 该元素定义Maven项目当前的版本

 

packaging :定义Maven项目打包的方式,首先,打包方式通常与所生成构件的文件扩展名对应,如上例中的packaging为jar,最终的文件名为my-app-0.0.1-SNAPSHOT.jar。也可以打包成war, ear等。当不定义packaging的时候,Maven 会使用默认值jar

 

classifier: 该元素用来帮助定义构建输出的一些附件。附属构件与主构件对应,如上例中的主构件为my-app-0.0.1-SNAPSHOT.jar,该项目可能还会通过一些插件生成如my-app-0.0.1-SNAPSHOT-javadoc.jar,my-app-0.0.1-SNAPSHOT-sources.jar, 这样附属构件也就拥有了自己唯一的坐标


相关文章推荐

maven3实战之坐标和依赖(可选依赖)

maven3实战之坐标和依赖(可选依赖) ---------- 假设有这样一个依赖关系,项目A依赖于项目B,项目B依赖于项目X和Y,B对于X和Y的依赖都是可选依赖:A-->B,B-...
  • yztezhl
  • yztezhl
  • 2014年03月14日 15:52
  • 463

maven3实战之坐标和依赖(传递性依赖)

maven3实战之坐标和依赖(传递性依赖) ----------   1.何为传递性依赖 假如有一个account-email项目,该项目有一个org.springframew...
  • yztezhl
  • yztezhl
  • 2014年03月14日 15:51
  • 477

maven3实战之坐标和依赖(最佳实践之排除依赖)

maven3实战之坐标和依赖(最佳实践之排除依赖) ----------   传递性依赖会给项目隐式地引入很多依赖,这极大地简化了项目依赖的管理。但是有些时候这种特性也会带来问题。例...
  • yztezhl
  • yztezhl
  • 2014年03月14日 15:54
  • 490

maven教程3-坐标和依赖

一、坐标组成 1、groupId 一般是com.company.项目名称 2、artifactId 项目模块名称,建议使用 项目名称-模块名称 3、version 版本,分快照版本和发布版本 4、pa...

maven3实战之坐标和依赖

何为maven坐标 maven的世界中拥有数量非常巨大的构件,也就是平时用的一些jar,war等文件。在maven为这些构件引入坐标概念之前,我们无法使用任何一种方式来唯一标识所有这些构件。 ma...
  • yydcj
  • yydcj
  • 2013年01月24日 15:52
  • 541

maven3—自动创建目录骨架,maven中的坐标和仓库

自动创建目录骨架: 用nodepad++创建文件夹和文件的方式非常的繁琐。所以可以利用archetype插件,创建符合maven规定的目录骨架 创建目录的两种方式: 1.archetype:ge...

maven3实战之坐标和依赖(坐标详解)

maven3实战之坐标和依赖(坐标详解) ---------- maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组maven坐标是通过一些元素定义的,...
  • yztezhl
  • yztezhl
  • 2014年03月14日 15:46
  • 416

Maven介绍安装配置坐标依赖等等

  • 2011年06月16日 17:39
  • 151KB
  • 下载

[Maven实战](7)坐标

1. 简介 maven的世界中拥有数量非常巨大的构件,也就是平时用的一些jar,war等文件。在maven为这些构件引入坐标概念之前,我们无法使用任何一种方式来唯一标识所有这些构件。因此,当需...

maven--4.概念(坐标、依赖)

1      坐标 1.1     什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点。在maven中坐标就是为了定位一个唯一确定的jar包。 Maven世界拥有大量构建,我们需要...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Maven]3,坐标
举报原因:
原因补充:

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