1 Repository(仓库)

1.1 Maven仓库主要有2种:

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

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除外,使用感叹号将仓库从匹配中排除。

最新文章

  1. mysql 基础列题
  2. Google Cloud Platform
  3. hdu 小希的迷宫
  4. Web服务器amp搭建
  5. Python类属性,实例属性
  6. Java递归输出指定路径下所有文件及文件夹
  7. Ceph的集群全部换IP
  8. [SQL] 不合并重复数据 union all
  9. Spring笔记之(一)初探
  10. Odoo “坑” 系列之 XML中的布尔类型
  11. Ubuntu 安装 Eclipse C/C++开发环境
  12. PAT乙级1065 map
  13. empty()和size()的优劣
  14. HTTP协议中GET和POST区别
  15. 为SNP增加种族人群频率
  16. Laravel policy 的应用
  17. python获取软件安装列表2222
  18. L1-014 简单题
  19. 基于OpenGL编写一个简易的2D渲染框架-12 重构渲染器-BlockAllocator
  20. eclipse手动build整个project

热门文章

  1. MyCAT全局序列号-数据库方式
  2. Docker学习链接
  3. js 筛选数据
  4. ELK环境搭建完整说明
  5. Log4J &amp; elk 事故总结
  6. java中那些类是线程安全的?
  7. 图解SVN的branch合并到trunk的过程
  8. webstorm技巧
  9. 解决IE下select option不支持display none样式
  10. LeetCode题解之 Merge k Sorted Lists