06_Maven核心_仓库_续 博客分类: Maven 远程仓库认证镜像
程序员文章站
2024-03-16 23:44:04
...
这节描述两点:远程仓库的认证;镜像
一、远程仓库认证
有些远程仓库是需要认证的。如果仓库需要认证。我们该怎么配置呢?
打开setting文件
可以看到在setting文件中有<servers>--><server>这个元素。表示配置一个仓库的认证信息。
<id>:为远程仓库设置一个id,这个id将会与配置远程仓库的id相呼应
<username>:认证用户名
<password>:认证密码
然后我们看一下与这个相呼应的仓库配置
<repository> <id>nexus-releases</id> <name>my test nexus-releases</name> <url>http://192.168.81.128:8081/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <layout>default</layout> </repository>
这样就可以实现仓库认证
二、镜像
如果仓库Y可以提供仓库X所有的内容,那么我们就认为Y是X的镜像。这就像照镜子,我们可以看到镜子外面有什么,镜子里面就有什么。这就是镜像。
镜像的实现:
<mirrors> <mirror> <id>Nexus</id> <name>Nexus public mirror</name> <mirrorOf>centrol</mirrorOf> <url>http://10.1.130.21:8081/nexus/content/groups/public</url> </mirror> </mirrors>
使用mirrors里面可以配置多个mirror。每一个mirror就是一个镜像
上面的mirrorOf表示镜像哪个仓库。值为仓库的id。即:所有请求*仓库centrol的构件,统统转向对Nexus的请求,请求路径:http://10.1.130.21:8081/nexus/content/groups/public
mirrorOf还可以有些高级的配置:
<mirrorOf>*</mirrorOf>:匹配所有远程仓库
<mirrorOf>rep01,rep02</mirrorOf>匹配仓库rep01和rep02可以设置多个,使用“,”分开
<mirrorOf>*,!rep01</mirrorOf>:匹配所有,除了rep01
镜像仓库完全屏蔽了被镜像仓库,如果镜像仓库挂掉了,那么Maven无法使用被镜像仓库
有了镜像,我们在搭建私服时,就很有用了。下节将描述如何在本地搭建私服nexus。