maven仓库介绍

 

maven的仓库只有两大类:

  1.本地仓库

  2.远程仓库

在远程仓库中又分成了3种:

  1 中央仓库

  2 私服仓库

  3 其它公共库

 

一、本地仓库

  顾名思义,本地仓库指的是本地存储的仓库。(注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建)maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置。

  如果更改这个位置,则需要一个setting.xml文件。这个setting文件具体放在那个地方没有限制,我推荐是跟仓库放在同级,因为这样找的时候好找。下面标红的地方就是我们存放本地仓库的位置,这个位置可以根据自己的需要自定义,没有规定必须要放在那个地方。 

<settings>  
    <localRepository>D:\maven_repository</localRepository>  
</settings>  

 

二、远程仓库

  1.央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置。在maven的聚合与继承中我们说过,所有的maven项目都会继承超级pom,具体的说,包含了下面配置的pom我们就称之为超级pom。中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到

<repositories>  
    <repository>  
      <id>central</id>  
      <name>Central Repository</name>  
      <url>http://repo.maven.apache.org/maven2</url>  
      <layout>default</layout>  
      <snapshots>  
        <enabled>false</enabled>  
      </snapshots>  
    </repository>  
  </repositories>  

  

2.私服

  私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。

 

  Maven私服的 个特性:

    1.节省自己的外网带宽:减少重复请求造成的外网带宽消耗

    2.加速Maven构件:如果项目配置了很多外部远程仓库的时候,构建速度就会大大降低

    3.部署第三方构件:有些构件无法从外部仓库获得的时候,我们可以把这些构件部署到内部仓库(私服)中,供内部maven项目使用

    4.提高稳定性,增强控制:Internet不稳定的时候,maven构建也会变的不稳定,一些私服软件还提供了其他的功能

    5.降低中央仓库的负荷:maven中央仓库被请求的数量是巨大的,配置私服也可以大大降低中央仓库的压力

 

  当前主流的maven私服:

    1.Apache的Archiva

    2.JFrog的Artifactory

    3.Sonatype的Nexus

 

maven工程jar下载路径

  先从本地仓库中根据maven坐标查找jar,没有则在私服仓库中查找,如果没有则私服仓库从远程仓库中下载jar。

 

 

posted @ 2020-01-28 13:47  Randlly  阅读(430)  评论(0编辑  收藏  举报