(五)maven仓库多层架构

本文介绍了Maven仓库的基本概念,包括仓库的作用、本地仓库的默认路径、依赖的布局结构。接着详细阐述了Maven的多层仓库架构,包括本地仓库、远程仓库(中央仓库、私服和其他远程仓库)、中央仓库的地址以及私服的重要性和工作原理。最后提到了镜像仓库的概念,如阿里云镜像仓库在加速依赖下载方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1、仓库的基本介绍

不使用maven,我们只能在各种工程里建一个lib目录,里面放入这个工程的所有依赖,在打包的时候将工程打成一个胖jar,里面包含了所有依赖。 

如果公司内有几十个,甚至上百个工程,那么每个工程都要维护一份依赖

  • 第一非常浪费空间,
  • 第二非常麻烦,每次升级某个依赖,可能要将几十个工程里的lib包下的依赖,先删除旧版本,再放入新版本。

而maven的仓库,就是用来统一存放各种依赖的地方。哪怕是有几十个工程,但是每个工程如果有相同的依赖,那么那个依赖在仓库里只会存在一次,不会放在各个工程自己的lib包下。

消除了重复,如果要升级某个依赖,直接在各个工程的pom.xml里升级依赖的版本即可,大家都会自动引用最新版本的依赖了。

在仓库里所有依赖就放一次,然后每个工程在pom.xml里面声明对依赖的引用即可,打包的时候,可以将所有依赖打入发布包即可。

2、仓库的布局结构

自己windows本地的仓库,是在~/.m2/repository目录,就是maven的本地仓库

那么依赖在maven仓库里是以什么方式存放的呢?其实maven仓库的布局结构其实很简单,比如我们依赖了一个项目,它的坐标如下:

  • groupId:log4j
  • artifactId:log4j
  • version:1.2.15

那么这个依赖的jar包在maven仓库里的布局,就是存放在log4j/log4j/1.2.15/log4j-1.2.15.jar,log4j/log4j/1.2.15就是目录,log4j-1.2.15.jar就是依赖对应的jar包。

所以你声明依赖之后,maven实际上就是根据依赖的坐标,先到本地仓库里面去根据坐标去一层一层的定位依赖所在的目录里面有没有这个jar包,如果没有的话,就是到远程仓

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海拾贝2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值