美文网首页
6、maven-仓库(Repository)

6、maven-仓库(Repository)

作者: 唯老 | 来源:发表于2021-01-21 15:04 被阅读0次

    一、简介

    所谓的仓库就是用于存放项目需要的jar包的。在我们的maven项目中其实并没有项目所需要的jar包,只在pom.xml文件中记录了jar的坐标。maven依赖管理通过jar的坐标去仓库中下载jar文件。
    使用maven仓库的好处:能让多个项目共享一个仓库里的相同jar包

    二、分类

    本地仓库,

    maven安装时候不会创建,第一次执行maven命令才创建。默认位置:用户目录/.m2/repository/

    远程仓库

    1. 中央仓库:默认的远程仓库。
    2. 私有仓库:局域网内的仓库。可以理解为自己公司的仓库,也叫Nexus私服。
    3. 镜像仓库:其他公开的资源仓库 例如国内的阿里云,jboss,jcenter 仓库等

    示意图

    image

    三、Maven 依赖搜索顺序

    当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:

    • **步骤 1: ** 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
    • **步骤 2: ** 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中已被将来引用。
    • **步骤 3: ** 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
    • **步骤 4: ** 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库已被将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。

    四、镜像(Mirror)

    概要

    Mirror表示的是两个Repository之间的关系,在maven配置文件(setting.xml)里配置了

    Mirror相当于一个拦截器,它会拦截maven对远程仓库的相关请求,把请求里的远程仓库地址,重定向到mirror里配置的地址。

    声明

    <mirrors>
      <mirror>
        ...
      <mirror>
    <mirrors>
    

    作用

    配置两个Repository之间的镜像关系,一般是出于访问速度和下载速度考虑。

    注意

    需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

    相关文章

      网友评论

          本文标题:6、maven-仓库(Repository)

          本文链接:https://www.haomeiwen.com/subject/zoxdzktx.html