(九)maven核心概念-坐标

来源:互联网 发布:硬盘 检测 软件 编辑:程序博客网 时间:2024/06/04 19:40

maven的最大的功能是管理项目依赖,为了方便的自动化的解析java构件(jar,war等文件),maven需要将它们唯一标识,这是依赖管理的基础,每个java构件都要有自己的唯一标识,这个唯一标识就是坐标。

回想一下,在没有使用maven之前,你开发中是如何管理项目依赖的,比如你的项目中需要使用到Apache-common里的jar时,你去Apache的网站上找到相关的项目,下载到你的机器,解压,找到lib目录从里面拷贝相应的jar文件到你的项目,如果你的项目需要mybatis的jar,你又要到mybatis网站上去找,重复之前的步骤。你的很多时间浪费在网站搜索查找中,更糟糕的情况是,jar文件间存在依赖关系和版本兼容问题,你只能一次次的启动项目去试。为了管理这些依赖,maven引入了坐标的概念,即任何一个构件都可以使用maven坐标唯一标识,maven坐标元素包括groupId、artifactId、version、packaging、classifier。每个元素的代表的意义如下。

groupId:     一个唯一的组织或者项目

artifactId:     项目名称(模块)

version:     项目当前版本

packaging:     项目的打包方式

classifier:     用来帮助定义构建输出的一些附属构件,比如javadoc、sources等,具体参见官方文档

 

现在一个依赖的maven坐标就可以表示为如下形式:groupId:artifactId:packaging:classifier:version

只要我们提供了正确的坐标,maven就能找到对应的构件,maven是从哪里找到这些构件的,答案就在上一节我们讲的repository中,maven内置了一个中央仓库的地址,默认是http://repo1.maven.org/maven2,中央仓库包含了世界上大部分流行的开源项目构件,Maven在需要时就会从中央仓库下载。在实际使用中以上的5个元素,groupId、artifactId、version是必须定义的,packaging是可选的(默认为jar),classifier是不能直接定义的,也是可选的。pom文件中常用的依赖声明方式为:

 

<dependency>    <groupId>commons-lang</groupId>    <artifactId>commons-lang</artifactId>    <version>2.6</version></dependency>


 

参考资料:https://maven.apache.org/pom.html


原文地址:http://ittechcourse.com/archives/68

0 0
原创粉丝点击