镜像是为了提供更快的服务
编辑settings.xml配置中央仓库镜像:
<settings>...
<mirrors>
<mirror>
<id>maven.net.cn</id>
<name>one of the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>
该例中,<mirrorOf>的值为central,表示该配置为中央仓库的镜像,任何对于中央仓库的请求都会转至该镜像,用户也可以使用同样的方法配置其他仓库的镜像。
另外三个元素id,name,url与一般仓库配置无异,表示该镜像仓库的唯一标识符、名称以及地址。类似地,如果该镜像需认证,也可以基于该id配置仓库认证。
任何需要的构件都可以从私服获得,私服就是所有仓库的镜像。这时,可以配置这样的一个镜像,如例:
<settings>
...
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Internal Repository Manager</name>
<url>http://192.168.1.100/maven2</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,任何对于远程仓库的请求都会被转至http://192.168.1.100/maven2/。
如果该镜像仓库需要认证,则配置一个Id为internal-repository的<server>即可。
为了满足一些复杂的需求,Maven还支持更高级的镜像配置:
1.<mirrorOf>*</mirrorOf>
匹配所有远程仓库。
2.<mirrorOf>external:*</mirrorOf>
匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。也就是说,匹配所有不在本机上的远程仓库。
3.<mirrorOf>repo1,repo2</mirrorOf>
匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。
4.<mirrorOf>*,!repo1</miiroOf>
匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。
需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。
<mirrors><mirror>
<id>planetmirror.com</id>
<name>PlanetMirror Australia</name>
<url>http://downloads.planetmirror.com/pub/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
id, name是该镜像的唯一定义符。id用来区分不同的mirror元素。
url是该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。
mirrorOf是被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://
repo1.maven.org/maven2)的镜像,就需要将该元素设置成central。这必须和
中央仓库的id central完全一致。
Repository是是Maven用来填充构建系统本地仓库所使用的一组远程项目。而Maven是从本地仓库
中使用其插件和依赖。不同的远程仓库可能含有不同的项目,而在某个激活的profile
下,可能定义了一些仓库来搜索需要的发布版或快照版构件。
首先,进入到Maven的安装目录下的conf文件下,可以看到有个settings.xml文件。0maven安装及maven环境变量配置
0maven下载|安装|安装教程
可以将settings.xml文件先备份下,然后打开修改下面内容,如下所示
如果还需要thirdparty仓库或多个仓库,还可以添加下图所示。
以上配置的都是Maven的镜像地址换成了OSChina的镜像地址。
在执行Maven命令时,还要安装一些插件包修改插件包的下载地址。
5
如果还需要修改Maven文件的默认保存位置,直接在setting文件中按下面修改。
<localRepository>D:/新路径</localRepository>
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)