怎样利用Maven的依赖关系从远程库中下载相应的类库

Maven的依赖机制会自动下载需要的依赖关系类库,并且很有好的维护版本升级

例子研究
假设你想在项目的日志机制中使用Log4j(实际上我更喜欢SLF4J),这是你需要做的

1.对于传统的方式

1.访问http://logging.apache.org/log4j/
2.下载Log4j的类库
3.手动将他设置到项目的依赖关系中
4.所有的管理都是由你自己来做

如果Log4j的版本更新了,你需要重复上边的步骤

2.用Maven的方式

1.你需要知道log4j的"Maven坐标",例如

<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>

他会自动下载log4j1.2.14版本的库,如果version标签没有指定,他会自动最新的版本

2.将"Maven 坐标"包含到"pom.xml"文件"<dependecied>"标签中

<dependencies>
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
    </dependency>
</dependencies>

3.当Maven构建和编译的时候,log4j会自动下载后放到Maven的本地仓库中
4.所有的管理都是Maven来做,自动的

看一下区别,所以在Maven中到底发生了什么?

当你使用Maven去构建你的项目,"pom.xml"会被解析,Maven会根据下边的书序去查找log4j

1.在Maven本地库中查找log4j
2.在中央仓库中查找log4j
3.在远程仓库中查找log4j(如果在pom.xml中定义了的话)

Maven的依赖库管理简单易操作,是非常不错的工具

上边提到Maven的坐标,那么怎样找到Maven的坐标呢,你可以参考Maven中央仓库的详细细节,如果依赖关系的类库在一个很深的文件夹结构中,你或许需要解决在挖掘方面的问题。当然你也可以Google的搜索功能,虽然这个方法是一个很笨的方法,但是利用Google的搜索功能,足够有能力定位类库Maven的坐标

让我们看一下,如果你想知道"logback"在Maven中的坐标,你可以通过下边的内容进行搜索

logback site:http://repo1.maven.org/maven2/

Google将会返回各个版本

'logback-classic-0.9.26.pom' in Maven - Maven.org
'logback-parent-0.9.4.pom' in Maven - Maven.org

不过现在的Maven中央仓库,已经提供了非常具体的搜索功能,你可以直接在目标链接的搜索框中搜索 坐标搜索

posted @ 2012-11-05 11:54  Mr-sniper  阅读(3141)  评论(0编辑  收藏  举报