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

时间: 2024-08-05 11:12:30

maven入门(7)maven项目(组件)的坐标的相关文章

Maven入门指南 Maven 快速入门及简单使用

Maven入门指南 :Maven 快速入门及简单使用 前言 Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目.主要用于项目构建,依赖管理,项目信息管理. maven项目在编译.测试.打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件, 如果使用代理服务器上网,需要配置代理服务器. 理解"仓库" 首次运行完mvn -version后,会在用户目录下创建一个.m

Maven 入门——认识Maven结构

1.settings.xml 元素解读 localRepository 该元素表示本地 Maven 仓库的地址,不设置的话,默认为 ~/.m2/repository pluginGroups 将插件的信息注册到 Maven 中,是的执行 Maven plugin 命令的时候可以不指定 groupId 和 artifactId,比如: 这个生成源代码的插件,运行的时候不需要指定它的 groupId 和 artifactId,只需要执行mybatis-generator:generate 即可,因为

JAVAWEB开发之Maven的入门详解——Maven的安装以及项目的结构和Maven的使用以及私服的搭建与配置

什么是Maven? 翻译为专家,内行.Maven是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,项目管理和项目信息管理.那么怎么样才算是理想的项目构建呢?理想的项目构建就是必须具备高度自动化,跨平台,可重用的组件,标准化这些特性. 什么是依赖?为什么要进行依赖管理? - 所谓的依赖就是自动下载.进行依赖管理主要是为了统一的对这些依赖进行管理. 都有哪些项目信息? -项目名称描述,开发者信息,开发人员信息,项目的版本号等等. 什么项目构建? - 所谓的项目构建就是对项目进行清理.编译

maven入门(4)构建简单的maven项目

1. 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: C代码   mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app-simple -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-quickstart 即可在当前目录创建一个简单的maven项目,当然创建的时候会从Maven库中下载相关的依赖,耐心等待即可. maven的大致结

Maven 入门 (2)—— 创建Maven项目

http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven 入门 (1)—— 安装 这里的文章安装成功再继续. 因为maven在执行一些插件目标的时候可能会从中心数据库下载依赖的文件,因此,使用maven的时候请保持联网状态. 现在如果你已经迫不及待了,那么可以尝试在命令行终端先输入: [plain] view plaincopy mvn clean in

Maven入门_四、Maven项目核心POM

四.Maven项目核心POM .xml pom定义了项目的基本信息,描述了项目的构建.依赖 1.Maven项目的基本坐标: <!-- 项目包名: 公司地址名称反写+项目名称--> <groupId>com.xusan</groupId> <!--项目模块名称:一般为 项目名-模块名 --> <artifactId>hello-word</artifactId> <!-- 指定当前pom 的版本--> <version

Maven入门系列(四)——在STS下配置Maven和建立Maven项目

如何配置STS的Maven 在使用STS的Maven需要对Maven进行配置.虽然STS已经默认集成了Maven的插件,但是其使用大的Maven是STS内置的.现在我们需要将自己配置的maven和现有的仓库加入到STS中.方法如下: 打开STS,菜单[windows]下的[Preferences].选择Maven下的Installations.里面默认勾选着Maven的STS集成版.现在我们需要将自己下载和配置的最新的maven导入.点击add按钮. 点击finish. 然后选中我们已经导入的m

Maven入门教程

Maven入门教程一.maven简介 Maven是一个项目管理工具 它包含: 一个项目对象模型 (Project Object Model) 一组标准集合 一个项目生命周期(Project Lifecycle) 一个依赖管理系统(Dependency Management System) 用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑 项目结构: 源代码放在src/main/java 源代码的资源文件放在src/main/resources 测试代码放在sr

Maven入门系列(二)--设置中央仓库的方法

原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布. 下载的地址是中央仓库mvnrepository.com,当然,全球很多个仓库. 资源的坐标简称GVA 那么,现在如何修改maven的本地仓库路径呢? 关键在于maven文件夹的config下的settings.xml(E:\IDE\apache-maven-3.3.1\conf\settings

Maven入门详解以及Eclisp的集成

1.首先要安装Maven到操作系统上 Maven的下载页面:http://maven.apache.org/download.html Maven跟Tomcat很像,下载下来后直接解压在指定的目录就安装成功了,不过Maven比Tomcat多了一项环境变量配置 当前版本3.0.3.解压缩下载的文件, 首先创建一个系统变量M2HOME,变量值指向maven的解压目录,如图所示: 将其中的bin目录设置到windows Path环境变量中.就是把%M2HOME%\bin加到path系统变量中,如图所示