maven中的mirrors

本文详细解释了Maven中本地仓库和远程仓库的概念及用途,以及如何通过镜像实现远程仓库地址的便捷切换,提升项目构建效率。

简单点来说,repository就是个仓库。maven里有两种仓库,本地仓库和远程仓库。远程仓库相当于公共的仓库,大家都能看到。本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用。当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。如果有则直接返回,否则会向远程仓库请求,并做缓存。你也可以把你做的东西上传到本地仓库给你本地自己用,或上传到远程仓库,供大家使用。 
远程仓库可以在工程的pom.xml文件里指定,楼上两位已经列的很清楚了。如果没指定,默认就会把下面这地方做远程仓库,即默认会到http://repo1.maven.org/maven2这个地方去请求插件和依赖包。 
   

Xml代码  收藏代码
  1. <repository>  
  2.       <snapshots>  
  3.         <enabled>false</enabled>  
  4.       </snapshots>  
  5.       <id>central</id>  
  6.       <name>Maven Repository Switchboard</name>  
  7.       <url>http://repo1.maven.org/maven2</url>  
  8.     </repository>  

本地仓库默认在你本地的用户目录下的.m2/repository目录下。 

mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径。比如,上班的时候在公司,用电信的网络,连的是电信的仓库。回到家后,是网通的网络,我想连网通的仓库,就可以通过mirror配置,统一把我工程里的仓库地址都改成联通的,而不用到具体工程配置文件里一个一个地改地址。 
mirror的配置在.m2/settings.xml里。如: 
Xml代码  收藏代码
  1. <mirrors>  
  2.   <mirror>  
  3.     <id>UK</id>  
  4.     <name>UK Central</name>  
  5.     <url>http://uk.maven.org/maven2</url>  
  6.     <mirrorOf>central</mirrorOf>  
  7.   </mirror>  
  8. </mirrors>  

这样的话,就会给上面id为central的远程仓库做了个镜像。以后向central这个仓库发的请求都会发到http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。 
<mirrorOf>central</mirrorOf>里是要替代的仓库的id。如果填*,就会替代所有仓库。 
要将 Mavenmirrors 配置成本地,可通过修改 `settings.xml` 文件来实现。以下是具体步骤: ### 找到 `settings.xml` 文件 `settings.xml` 文件有全局和用户级两种。全局的 `settings.xml` 文件位于 Maven 安装目录下的 `conf` 文件夹中;用户级的 `settings.xml` 文件位于用户主目录下的 `.m2` 文件夹中(即 `~/.m2/settings.xml`)。通常建议修改用户级的 `settings.xml` 文件,这样不会影响其他用户的配置。 ### 编辑 `settings.xml` 文件 打开 `settings.xml` 文件,找到 `<mirrors>` 标签,如果该标签不存在,则手动添加。在 `<mirrors>` 标签内添加 `<mirror>` 元素,用于配置本地镜像。以下是一个示例: ```xml <mirrors> <mirror> <id>local-mirror</id> <mirrorOf>*</mirrorOf> <url>file:///D:/maven-repo</url> <!-- 这里替换为你本地仓库的实际路径 --> </mirror> </mirrors> ``` - `<id>`:镜像的唯一标识符,可以自定义。 - `<mirrorOf>`:指定哪些仓库使用该镜像。`*` 表示所有仓库都使用该镜像。 - `<url>`:本地仓库的路径,使用 `file://` 前缀。这里以 `D:/maven-repo` 为例,你需要将其替换为你实际创建的本地仓库目录。 ### 保存并验证配置 保存 `settings.xml` 文件后,在命令行中执行 `mvn help:system` 命令,如果配置成功,Maven 将从本地仓库获取依赖。 ### 示例代码 ```xml <settings> <mirrors> <mirror> <id>local-mirror</id> <mirrorOf>*</mirrorOf> <url>file:///D:/maven-repo</url> </mirror> </mirrors> </settings> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值