一、问题
现在maven项目非常流行,因为我们可以在pom.xml文件中配置项目所需要的jar包对应的坐标,maven就会自动管理jar包,但如果使用maven的中央仓库,因为其仓库服务器在国外,因此jar下载的速度非常慢,这时希望可以提高效率就需要配置国内的私服。
其实方法很简单:maven是支持镜像的,我们可以在maven的conf文件夹下的setting.xml文件中找到<mirrors></mirrors>标签。二、私服配置的标签介绍
id:当前镜像的标识mirrorOf:匹配那些远程仓库,当值为*的时候,标识匹配所有远程仓库
1.《mirrorOf》*《/mirrorOf》
匹配所有远程仓库
2.《mirrorOf》external:*《/mirrorOf》
匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。也就是说,匹配所有不在本机上的远程仓库。
3.《mirrorOf》repo1,repo2《/mirrorOf》
匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。
4.《mirrorOf》*,!repo1《/miiroOf》
匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。
需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。
三、常用私服地址
1、阿里云私服
<mirror><id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
2、maven中央仓库
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
3、开源中国maven
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public</url>
</mirror>