`

Maven实战(五)坐标详解

 
阅读更多

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, 这样附属构件也就拥有了自己唯一的坐标

 

 

http://tangyanbo.iteye.com/blog/1503946

分享到:
评论

相关推荐

    Maven 实战源码

    《Maven实战源码》是一本专为Java开发者设计的指南,旨在帮助初学者和有经验的开发者深入理解和掌握Maven这一强大的项目管理和构建工具。Maven不仅简化了项目的构建过程,还通过依赖管理和插件机制,使得软件开发...

    maven 实战(还没有看)

    Maven坐标详解(Maven实战(五)坐标详解.docx) Maven坐标是识别项目依赖的关键元素,包括groupId、artifactId和version。groupId代表组织或公司名,artifactId是项目模块名,version则是项目的版本号。此外,还...

    Maven使用实战-从入门到精通实践【张振华.Jack】

    Maven使用实战-从入门到精通实践【张振华.Jack】 Maven简介、Maven主要做什么用? 项目对象模型(POM) 坐标(Coordinates)、打包方式(Packaging)、项目描述 项目子父级关系(parent) 依赖管理(dependency),冲突了...

    《Maven 实战.pdf》 高清下载地址下载

    ** Maven 实战知识详解 ** Maven 是一个强大的项目管理和构建工具,主要应用于Java 开发领域。它通过提供一套标准的项目对象模型(Project Object Model,POM)和自动化构建生命周期,使得Java 开发者能够更高效地...

    maven使用入门

    #### 五、Maven实战案例 本书还提供了丰富的实战案例,例如: - **背景案例**:通过一个具体的项目案例,详细介绍如何使用Maven进行项目的构建、管理和部署。 - **案例分析**:针对每一个知识点,都有相应的案例...

    maven资料,详细总结文档

    ### Maven详解 #### Maven概述 Maven是一款由Apache组织维护的跨平台项目管理工具,主要用于基于Java平台的应用程序构建、依赖管理和项目信息管理。Maven的设计理念在于简化软件项目的构建流程,提高自动化程度,...

    maven软件管理及构件

    #### Maven实战篇 - **简单Maven项目创建**: 通过`mvn archetype:generate`命令快速创建一个简单的Maven项目。 - **构建简单项目**: 使用`mvn clean install`命令进行构建。 - **项目对象模型(POM)**: Maven的核心...

    maven配置文档

    #### 三、Maven实战 **3.1 创建简单项目** 通过命令`mvn archetype:generate`可以选择模板快速生成一个简单的Maven项目。 **3.2 构建简单项目** 构建项目时,可以使用`mvn clean install`命令执行整个构建过程,...

    Maven权威指南

    #### 三、Maven实战 **3.1 创建一个简单的项目** - **3.2 构建一个简单的项目**:使用Maven创建和构建项目非常简单,只需要通过命令行调用 `mvn archetype:generate` 生成项目骨架,然后进行必要的修改即可。 - **...

    maven学习资料

    本资料包中的"Maven实战.pdf"提供了深入的Maven学习指南,帮助开发者更好地理解和运用这一强大的工具。 **一、Maven的基本概念** 1. **项目对象模型(Project Object Model,POM)**:Maven的核心是POM,它是Maven...

    Maven培训 资料

    - `Maven实战.pdf`可能是一本关于Maven实际应用的书籍,涵盖了从基础到高级的各种用法,是学习Maven的好资料。 - `Maven3+安装和配置.ppt`可能是一个幻灯片教程,详细介绍了Maven 3.x版本的安装步骤和配置方法。 -...

    maven的讲解及实践

    ** Maven详解及实践 ** Maven,作为Java项目管理和构建工具,是Apache软件基金会下的一个项目,由Jason van Zyl在2001年创建。它通过使用一个项目对象模型(Project Object Model,POM)来管理项目依赖,并提供了一...

    Apache Maven 3.doc

    ### Apache Maven 3 知识点详解 #### 一、Maven 3 概述 **1.1 Maven 是什么?** Maven 是一个由 Apache 软件基金会支持的项目管理和理解工具。它通过一个项目对象模型 (POM) 来管理项目的构建、报告和文档。 **...

    maven权威指南 权威

    Maven实战 **3.1 简介** 本章通过一个简单的示例项目介绍了Maven的基本使用方法。 **3.2 创建一个简单的项目** 通过命令`mvn archetype:generate`来快速生成一个基础的Maven项目结构。 **3.3 构建一个简单的项目*...

Global site tag (gtag.js) - Google Analytics