Internal Repository
Internal Repository是指在局域网内部构建的repository,它跟central repository的区别仅仅在于url指向的是一个内网网址.
mirror
mirror相当于一个代理,它会拦截去指定的远程仓库下载构建的请求,然后从自己这里找出构件回送给客户端。配置mirror的目的一般是出于网速考虑
关于maven如何查找pom.xml里dependencies里配置的插件,暂且不考虑本地仓库的存在maven会根据最终的repository集合里依次查找,如果查到了就从该仓库下载,并且停止对后续repository的查找。所以可以看出用户在pom.xml里配置repository时,repository的顺序还是挺重要的。
mirror是配置在maven的settings.xml文件中
mirror的定义
<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的定义
<repositories>
<repository>
<id>offical</id>
<name>Maven Official Repository</name>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jboss</id>
<name>Jboss Repository</name>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>