Maven依赖机制理解

假设一个项目需要用到日志组件Log4j,那么有如下方式添加这个组件。

一、传统方式:

1、访问官网https://logging.apache.org/log4j/2.x/download.html,下载指定版本的jar包。

2、拷贝jar包到项目的lib目录,或者eclipse中指定依赖目录。

3、当有新版的Log4j更新,以上方式就要重新做一次。

那么问题来了,像Log4j这样的包管理工作就必须自己去配置,假设一个项目有十几个依赖包,那么上面的方式工作量就是相当庞大的。

二、Maven方式:

为了解决上面的弊端,使用Maven方式将很快的解决上述问题。

1、通过Maven的中央仓库http://search.maven.org/查询出Log4j组件的坐标。比如:

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

2、将上述坐标整合到项目的pom.xml中去,如下:

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

3、当Maven构建或者eclipse添加完坐标后,Log4j的jar会自动的下载到项目的lib文件夹中,同时本地仓库也会有一份缓存。

4、如果上述节点的version忽略不写,每次构建时都会下载最新版本的jar包,这样为更新jar包提供了自动化处理。

通过Maven方式的管理,一切管理工作将交由Maven进行,并且更新这些完全不用自己机械化操作。

三、总结:

Maven的优势比传统方式方便很多,同时项目上的依赖关系也相当明了。

如果想要更详细的官方届时,参考:http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

以上参考:http://www.yiibai.com/maven/maven-dependency-to-download-library.html

时间: 2024-11-05 17:26:14

Maven依赖机制理解的相关文章

maven 学习---Maven依赖机制

在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级. 案例分析 让我们看一个案例研究,以了解它是如何工作的.假设你想使用 Log4j 作为项目的日志.这里你要做什么? 1.在传统方式 访问 http://logging.apache.org/log4j/ 下载 Log4 j的 jar 库 复制 jar 到项目类路径 手动将其包含到项目的依赖 所有的管理需要一切由自己做 如果有 Log4j 版本升级,则需要重复上述步骤一次. 2. 在Maven的方式 你需要知道 log4j

Maven 依赖机制

概述 在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级.让我们看一个案例研究,以了解它是如何工作的.假设你想使用 Log4j 作为项目的日志.这里你要做什么? 传统方式 访问 http://logging.apache.org/log4j/ 下载 Log4j 的 jar 库 复制 jar 到项目类路径 手动将其包含到项目的依赖 所有的管理需要一切由自己做 如果有 Log4j 版本升级,则需要重复上述步骤一次. Maven 的方式 你需要知道 log4j 的 Maven 坐

Maven依赖机制

1.Maven本地资源库 2.Maven中央储存库 3.Maven远程仓库 Maven的依赖库查询顺序更改为: 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出. 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出. (需要在pom.xml中声明)在 Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出. 操作都是基于pom.xml配置文件的. ①:添加jar包依赖 声明 log4j的Maven 的坐标转换成 pom.xml 文件,将会按上

Maven的依赖机制介绍

以下内容引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_manage_dependencies.html: 一.前言 Maven的一个核心特性就是依赖管理.当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成一项困难的任务.Maven展示出了它对处理这种情形的高度控制. 二.可传递性依赖 一种相当常见的情况,当一个库,比如说A依赖于其他库B.假如,另外一个项目C想要使用A,那么项目也需要使

Spring Security 3.2.x与Spring 4.0.x的Maven依赖管理

原文链接: Spring Security with Maven原文日期: 2013年04月24日翻译日期: 2014年06月29日翻译人员: 铁锚 1. 概述 本文通过实例为您介绍怎样使用 Maven 管理 Spring Security 和 Spring 的依赖关系.最新的Spring Security公布版本号能够在 Maven Central仓库 中找到. 译者建议訪问MVNRespotory中org.springframework.security链接.本文是 使用Maven管理Spr

maven课程 项目管理利器-maven 3-7 maven依赖范围 2星

本节主要讲了maven的依赖范围: 在pom.xml   dependency标签的scope中.eclipse中有编译的路径,maven中有编译,运行,测试的路径. 1 scope为test,为测试路径,多为junit jar包 2 scope为compile,为默认级别,编译测试运行都有效 3 scope为provided,编译和测试的时候有效 4 scope为runtime,运行和测试的时候有效  (如:jdbc驱动的实现) 5 scope为system,和compile一致,但是可移植能

Maven依赖总结

一:依赖范围 Maven在编译项目主代码的时候需要使用一套classpath.其次,在编译和执行测试的时候会使用另外一套classpath.最后,实际运行Maven项目的时候,又会使用一套classpath. 所谓的依赖范围就是用来控制依赖与这三种classpath(编译.测试.运行)的关系,Maven有以下几种依赖范围: compile:编译依赖范围.如果没有指定,默认使用该依赖范围.使用此依赖范围时,对于编译.测试.运行都有效.例如:spring-core,编译.测试.运行时都需要使用该依赖

Maven依赖jar包版本冲突解决方案

1.为何会产生依赖冲突 Maven中的传递性依赖机制,一方面简化了依赖声明,另一方面如果传递依赖有可能引发版本冲突.例如:有这样的依赖关系:a->b->c->x(1.0).a->d->x(2.0),对于这样的冲突Maven给出的方案是:第一原则:路径最近者优先,第二原则:在路径长度相等的前提下,pom中的依赖声明的顺序决定了谁会被解析. 2.如何排除依赖 pom如下: <dependency> ...... <exclusions> <exclu

Maven依赖解析

Maven依赖解析本文将记录Maven工程中依赖解析机制,内容包括: 1. Maven依赖基本结构 上篇文章记录了Maven依赖的聚合与继承,POM中依赖的声明通过dependency进行定义,并且通过groupId.artifactId及version三项定位 http://p.baidu.com/itopic/main/qlog?qid=97a56162633465376437373100&type=questionlog http://p.baidu.com/itopic/main/qlo