zoukankan      html  css  js  c++  java
  • Maven配置setting.xml值Mirror与Repository区别

    1 Repository(仓库)

    1.1 Maven仓库主要有2种:

    • remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问
    • local repository:存放在本地磁盘的一个文件夹,例如,windows上默认是C:Users{用户名}.m2 epository目录

    1.2 Remote Repository主要有3种:

    • 中央仓库:http://repo1.maven.org/maven2/ 
    • 私服:内网自建的maven repository,其URL是一个内部网址 
    • 其他公共仓库:其他可以互联网公共访问maven repository,例如 jboss repository等

    repository里存放的都是各种jar包和maven插件。当向仓库请求插件或依赖的时候,会先检查local repository,如果local repository有则直接返回,否则会向remote repository请求,并缓存到local repository。也可以把做的东西放到本地仓库,仅供本地使用;或上传到远程仓库,供大家使用。 

    2 Mirror

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

    2.1 没有配置mirror:

    2.2 配置mirror:

    此时,B Repository被称为A Repository的镜像。(即A仓库中的所有构建在B仓库中都有) ,镜像的定义如下:

    如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。

    2.3 <mirrorOf></mirrorOf> 

    <mirrorOf></mirrorOf>标签里面放置的是要被镜像的Repository ID。为了满足一些复杂的需求,Maven还支持更高级的镜像配置: 

    • <mirrorOf>*</mirrorOf> 

                匹配所有仓库请求,即将所有的仓库请求都转到该镜像上

    • <mirrorOf>repo1,repo2</mirrorOf> 

                将仓库repo1和repo2的请求转到该镜像上,使用逗号分隔多个远程仓库。 

    • <mirrorOf>*,!repo1</miiroOf> 

                匹配所有仓库请求,repo1除外,使用感叹号将仓库从匹配中排除。

  • 相关阅读:
    Beego 学习笔记12:文件的操作
    Beego 学习笔记11:文件的上传下载
    Beego 学习笔记10:Easyui使用
    Beego 学习笔记9:Boostrap使用介绍
    Beego 学习比较8:SQL语句
    Beego 学习笔记7:JS分页
    Beego学习笔记6:分页的实现
    【嵌入式linux】用户登录密码验证配置
    【Linux 环境搭建】ubuntu下nfs安装与配置
    【嵌入式 Linux文件系统】如何使用NFS文件系统
  • 原文地址:https://www.cnblogs.com/leodaxin/p/8490728.html
Copyright © 2011-2022 走看看