查看了资料,说在settings.xml文件中配置如下的内容:
<!--配置自己搭建的Nexus服务器的仓库地址-->
<mirror>
<!--id标签体的内容随意,但是要确保唯一性-->
<id>private nexus</id>
<!--仓库的名称-->
<mirrorOf>maven-aliyun</mirrorOf>
<!-- 定义镜像名称,具体名称随意 -->
<name>private proxy nexus repository</name>
<!--私服仓库的地址-->
<url>http://localhost:8081/nexus/content/repository/maven-aliyun/</url>
</mirror>
然后我把本地仓库的某个依赖删除了,把其它仓库镜像也注释了,再 Reload project,被删除的依赖倒是重新下载到本地仓库了,但是Nexus服务器上的maven-aliyun 这个仓库并没有同步缓存从中央仓下载的资源。
接着我把<mirrorOf>
的内容改成星号 *,和上面的步骤一样操作了一遍,居然成功了,Nexus 服务器上的 maven-aliyun 仓库里有缓存大量的资源。应该是缓存了整个项目依赖的资源,但是我只是删除了一个依赖资源,按理会向配置的私服仓库请求一个依赖资源,私服没有,才会向中央仓下载资源,再缓存到私服仓库中,结果确实全部缓存下来了。
为什么?为什么?<mirrorOf>
到底怎么配置?