我运行maven构建,我看到多次下载相同的工件。从一个仓库成功下载后,尝试从另一个仓库下载。一些下载是(0 B,0.0 KB /秒)。
[INFO] Downloading: https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[INFO] Downloaded: https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (5 KB at 59.8 KB/sec)
[INFO] Downloading: https://p-nexus.mycompany.com/nexus/content/repositories/public/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[INFO] Downloaded: https://p-nexus.mycompany.com/nexus/content/repositories/public/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (0 B at 0.0 KB/sec)
[INFO] Downloading: http://repo.spring.io/ext-release-local/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[INFO] Downloading: http://repo.spring.io/milestone/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[INFO] Downloading: http://repo.spring.io/snapshot/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
存储库配置:
<repositories>
<repository>
<id>Myproject-group</id>
<name>Myproject-group</name>
<layout>default</layout>
<url>https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/</url>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
</repository>
</repositories>
答案 0 :(得分:3)
您可以通过让Maven镜像所有存储库请求来强制Maven使用单个存储库。存储库必须包含所有所需的工件,或者能够将请求代理到其他存储库。当使用内部公司存储库和Maven Repository Manager代理外部请求时,此设置最有用。
要实现此目的,请将mirrorOf设置为*。
<settings>
...
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on repo.mycompany.com</name>
<url>http://repo.mycompany.com/proxy</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
更多详情here
希望这会有所帮助。
答案 1 :(得分:2)
它没有多次下载。它无法在第一个存储库中找到它,所以它正在尝试<repositories/>
列表中的下一个存储库。
答案 2 :(得分:2)
如果您查看日志信息,您会发现它没有多次下载。
0 B at 0.0 KB/sec
正如您所看到的,它们的路径是不同的,即使jar文件相同,并且在第二个INFO的末尾,它表示PERCENT := %
foo: results(10$(PERCENT)).dat
gnuplot config.plt
,这意味着它没有被下载。