Maven仓库(仓库管理)仓库认识~

文章目录

  • Maven仓库
    • Maven仓库的分类
    • 本地仓库
    • 远程仓库
      • 中央仓库
      • 私服
  • 小结

Maven仓库

上一篇讲了maven仓库的好处和maven仓库的布局。这次就来好好将一下maven仓库。讲一下maven仓库的分类、各自的作用及一些配置。

Maven仓库的分类

了解maven仓库,是我们在使用maven仓库的必备知识。大致分为:本地仓库和远程仓库。理解起来很简单,本地仓库就是部署在我们本地电脑上的,远程仓库就是专门的服务器来部署。作用方面:本地仓库就是我们项目直接引用的一些构件都放在其中(其实就是一个文件夹)。远程仓库,就是面向与互联网的,大家都可以访问,也可以上传自己的构件,但是得通过认证,不然管理这些仓库的人肯定受不了。当然远程仓库又分为:中央仓库,私服。看图:
Maven仓库(仓库管理)仓库认识~_第1张图片

本地仓库

maven项目是一般是不存在lib文件夹的,依赖构件都放在本地仓库中,进行统一管理。我们的项目需要使用依赖文件的时候,它就会通过坐标去仓库中寻找使用本地仓库的依赖。
但是它究竟放在哪里呢?这里分为两种情况:
第一种情况:我们没有进行配置maven的配置文件(也就是settings.xml 文件)它是我们计算机的用户目录下有一个 .m2\repository 的目录下。Maven仓库(仓库管理)仓库认识~_第2张图片
看一下我们默认的本地仓库,这个我们在安装maven的时候就会自动创建。
Maven仓库(仓库管理)仓库认识~_第3张图片
第二种情况:我们当然不希望依赖放在C盘(系统盘),大多数情况下,我甚至都不往系统盘装任何软件,当然有时候在所难免。但是这些依赖还是可以进行操作的。首先打开maven的配置文件,找到了本地仓库的配置部分(localRespository)
Maven仓库(仓库管理)仓库认识~_第4张图片从这里可以看出,默认的地址是 ${user.home}/.m2/repository 。{ }中内容的是指的我们电脑的本地变量。回归正题,我们需要自定义本地仓库的路径只需要在< localRepository > 中写上我们想要放在位置的路径即可。

<localRepository>D:\apache-maven-3.6.1-bin\mavenlocalRepository>

Maven仓库(仓库管理)仓库认识~_第5张图片

远程仓库

远程仓库分为两种:中央仓库,私服。什么是中央仓库呢?就是直接放在互联网上的,供大家都可以去下载使用。私服,就是我们自己在局域网内架设的一个服务器,只供我们自己来使用。理解起来也很简单吧,市面上有专门的maven仓库的搭建方式。

中央仓库

所谓的中央仓库,可以理解为就是放在互联网上的仓库。最出名的就是:https://mvnrepository.com/ 当然不止这一个。
Maven仓库(仓库管理)仓库认识~_第6张图片
查看maven的配置文件
Maven仓库(仓库管理)仓库认识~_第7张图片
由于原始的本地仓库是空的,Maven必须要知道至少一个可用的远程仓库,才能在执行Maven命令的时候下载需要的构件。(至少一个,表示可以配置多个哦!,配置多个当备份呗。)

  • < id > 表示当前中央仓库的ID,这个我们可以随便起,配置镜像的时候会用到(后续会讲)。但是需要注意的是要唯一。
  • < name > 就是我们中央仓库的名字,这个也可以随便起。
  • < url > 是我们中央仓库的IP地址,复制一下就好了。
  • < layout > 我们要根据仓库的布局方式进行配置,我个人认为就是告诉maven中央仓库的仓库布局方式,不然maven按照什么规则去找呢?具体值看仓库。
  • < snapshots > < enabled > 表示我们可以从中央仓库下载快照版本。后面会详细讲。

私服

私服就是架设在局域网的中央仓库。好处是:

  • 节省自己的外网带宽。
    举个例子:你跟女朋友在使用同一个网络,此时你在搭建你的项目,需要下载一堆依赖。而你的女朋友正在打游戏,网速大量被你占用,你女朋友卡的要死,绝对要哔哔你。这也就是以前网吧禁止看黄片的原因(小的时候在黑网吧上网,就遇到过)嘿嘿。
  • 加速Maven项目的构建。
    为啥加速Maven项目的构建了呢?大家都知道正常情况下,局域网比外网要快很多。依赖构件下载的快了,项目不就构建的快了。
  • 部署第三方构件。
    这个会涉及到版权问题,比如Orcal的数据库驱动是不开源的,你们公司买了以后,大家都需要用到,怎么办呢?不能放在中央仓库上,肯定也不会一个一个的来拷贝吧,最好的办法就是放在私服上。同时也方便公司内部的构件放在私服上。
  • 提高稳定性,增强控制。
    局域网肯定比外网稳定。而且,我的局域网,当然我来管理了。
  • 降低中央仓库的负荷。
    少一些人去直接访问中央仓库,负荷不就低了。

常见的私服:Sonatype Nexus 、Jarvana 、 MVNbrowser 、MVNrepository 。具体架设私服的私服的方式就不在这里赘述了。网上教程一大把。自己可以配置玩玩。

小结

本篇重点是,搞清楚仓库的种类,本地仓库及中央仓库的基本配置。

你可能感兴趣的:(maven,maven)