大家好,欢迎来到IT知识分享网。
来源于 https://lawsssscat.blog.csdn.net/article/details/104863855
国内,用中央仓库(https://repo1.maven.org/maven2/)获取包太慢。
因此,我们都用镜像。
# 镜像配置
<mirror> <id>tz-mirror</id> <mirrorOf>external:*,!mmkj</mirrorOf> <name>tz test nexus repository</name> <url>http://xxxxx:30003/repository/maven-proxy</url> </mirror>
- 1
- 2
- 3
- 4
- 5
- 6
id
唯一标识mirrorOf
指定镜像的规则。
就是什么情况会从镜像仓库拉取,而不是从原本的仓库拉取
可选项参考链接:*
匹配所有external:*
除了本地缓存之后的所有仓库repo,repo1 repo 或者 repo1
。 这里repo指的是仓库的id,下文会提到*,!repo1
除了repo1的所有仓库name
名称描述url
地址
# maven配置 mirrorOf 坑
记录maven配置 mirrorOf 坑
我们用maven镜像,通常就是无脑从网上粘贴这样一段代码 ↓
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
- 1
- 2
- 3
- 4
- 5
- 6
注意:
这里,mirrorOf 配置成 *
就代表我们通过访问阿里云的maven仓库从而访问网路上所有的远程仓库
也就是说,我们只会从 阿里云 现有仓库下包,如果阿里云没有,我们必须手动更改配置!
因此,我们需要改成 central
- 如果配置成central,就代表我们访问阿里云的central仓库,就是阿里的中央库(http://central.maven.org/maven2)
- 如果配置成repo1,就代表通过阿里云访问http://repo1.maven.org/maven2,
阿里云和这些远程仓库之间必须可以镜像,存在一定的镜像关系。
# 配置多个mirror 和 切换 mirror
配置多个 mirror 和简单。
但是,每次切换 mirror 都要改配置文件,很麻烦,希望能够不改动配置文件的情况下,动态切换mirror配置。
我们知道 settings.xml 中可以使用变量,可以尝试使用变量解决。
<mirrors> <mirror> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>${aliyun}</mirrorOf> </mirror> <mirror> <id>netease</id> <url>http://mirrors.163.com/maven/repository/maven-public/</url> <mirrorOf>${netease}</mirrorOf> </mirror> <mirror> <id>default</id> <url>http://192.168.0.100/nexus/repository/maven-public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
我们知道,默认情况下配置多个mirror的情况下,只有第一个生效。
那么我们可以将 id 改为 default 作为默认值,前面配置的使用环境变量动态切换。
(如果没有 default , 会用第一个 mirror)
默认情况下,执行: mvn help:effective-settings
可以看到使用的是私服。
-
如果希望使用阿里云镜像,如下执行:
mvn help-effective-settings -Daliyun=central
-
同样的道理,使用网易镜像,则执行:
mvn help:effective-settings -Dnetease=central
最后,附上几个仓库 mirror
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>ui</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://uk.maven.org/maven2/</url> </mirror> <mirror> <id>ibiblio</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url> </mirror> <mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> <mirror> <id>OSCN</id> <name>OSChina Central</name> <url>http://maven.oschina.net/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
maven的中央(central)仓库的镜像地址
(最快) http://maven.ibiblio.org/maven2/
http://central.maven.org/maven2/
http://repo1.maven.apache.org/maven2/
http://repo1.maven.org/maven2/
http://mirrors.ibiblio.org/pub/mirrors/maven2/
https://repository.jboss.org/nexus/content/groups/public/
http://repo2.maven.org/maven2/
- maven 多仓库和镜像设置
- maven 中配置多个mirror如何切换镜像
- 浅谈maven setting.xml 设置的mirrorof标签作用。
最快的 maven repository–阿里镜像仓库
国内最好的maven repository
第一步:修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
- 1
- 2
- 3
- 4
- 5
- 6
第二步: pom.xml文件里添加
<repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28010.html