Maven依赖机制

在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。

案例分析

让我们看一个案例研究,以了解它是如何工作的。假设你想使用 Log4j 作为项目的日志。这里你要做什么?

1.在传统方式

  1. 访问 http://logging.apache.org/log4j/
  2. 下载 Log4 j的 jar 库
  3. 复制 jar 到项目类路径
  4. 手动将其包含到项目的依赖
  5. 所有的管理需要一切由自己做

如果有 Log4j 版本升级,则需要重复上述步骤一次。

2. 在Maven的方式

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

    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
  2. 它会自动下载 log4j 的1.2.14 版本库。如果“version”标签被忽略,它会自动升级库时当有新的版本时。

  3. 声明 Maven 的坐标转换成 pom.xml 文件。
    <dependencies><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.14</version></dependency>
    </dependencies>
  4. 当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库
  5. 所有由 Maven 管理

解释说明

看看有什么不同?那么到底在Maven发生了什么?当建立一个Maven的项目,pom.xml文件将被解析,如果看到 log4j 的 Maven 坐标,然后 Maven 按此顺序搜索 log4j 库:

  1. 在 Maven 的本地仓库搜索 log4j
  2. 在 Maven 中央存储库搜索 log4j
  3. 在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)

Maven 依赖库管理是一个非常好的工具,为您节省了大量的工作。

如何找到 Maven 坐标?
访问 Maven 中心储存库,搜索下载您想要的jar。

参考

  1. 依赖机制简介

转载于:https://www.cnblogs.com/zy-jiayou/p/7659909.html

Maven学习(八)-----Maven依赖机制相关推荐

  1. Maven学习(一)——Maven入门

    为什么80%的码农都做不了架构师?>>>    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服 ...

  2. Maven学习(一) - Maven基础

    2019独角兽企业重金招聘Python工程师标准>>> Maven作为Java语言的构建和依赖管理工具,已经被广泛使用.但对于maven的pom.xml的配置以及插件的使用,大部分人 ...

  3. maven学习:maven 的入门

    2.maven 的入门 到目前为止,我们已经大概了解并安装好了Maven,现在,我们开始创建一个最简单的Hello World项目. 2.1 在Idea创建maven项目 创建一个Maven项目也十分 ...

  4. Maven学习(四)-----Maven中央存储库

    Maven中央存储库 当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没 ...

  5. Maven学习(三)-----Maven本地资源库

    Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...

  6. Maven学习(1) - Maven入门

    home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...

  7. Maven学习(一) --------- Maven 简介

    目录 一.软件工程 概述 传统项目开发存在的问题 二.Maven 概述 Maven 优点 构建过程 三.Maven 核心概念 四.安装 Maven 环境 Maven 官网 : http://maven ...

  8. Maven学习九:依赖-dependency

    Maven依赖 1. 依赖的配置     根元素project下的dependencies可以包含一个或多个dependency元素,以声明一个或多个依赖.每个依赖可以包含的元素有: groupId. ...

  9. 【Maven学习】Maven打包生成包含所有依赖的jar包

    http://blog.csdn.net/u013177446/article/details/54134583 ******************************************* ...

最新文章

  1. java安卓开发工具_推荐几个非常实用的Android开发工具
  2. [待]-optee的native_intr_handler中断处理流程
  3. CTF(Pwn)32位文件 和 64 文件 的 差异
  4. sql server 怎么把视图中的数据存到另外一张表中_承上篇,自制插件优化Kep数据存储问题...
  5. xenserver 虚拟机扩容lvm磁盘分区的方法_Linux磁盘扩容
  6. POJ2402 Palindrome Numbers 回文数
  7. 为什么程序员需要关心顺序一致性,而不是 Cache 一致性?
  8. [react] react16的reconciliation和commit分别是什么?
  9. 程序员为什么要少写代码?
  10. 小熊的人生回忆(一)
  11. CentOS 7 SSH相关使用问题及其解决办法
  12. 周杰伦178首歌被网易云侵权 单曲仅获赔4500元
  13. Sharding-JDBC水平分表(环境搭建)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记007
  14. java web sftp,sftp-sftp工具 v5.9.6
  15. Android APK 修改
  16. 新在线一键制作表白网系统源码
  17. Mock实现单元测试报错:Argument passed to when( ) is not a mock!
  18. Linux释放内存的命令
  19. The import com. cannot be resolved
  20. asp长度为4的随机数字写

热门文章

  1. JMX 简介 和 实例
  2. Android(java)学习笔记164:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例)...
  3. C#中 类和结构 值类型和引用类型以及 值传递和引用传递
  4. windows添加删除程序打不开解决方案
  5. jenkins 备份配置信息
  6. Nginx+Tomcat+Memcached实现session共享
  7. GitHub趋势:Vue.js大有超过TensorFlow之势!
  8. Python开发【第二篇】:Python基本数据类型
  9. Java之美[从菜鸟到高手演变]之Spring源码学习 - 环境搭建
  10. jQuery comet