Maven检查本地存储库,但从中央下载.为什么?

Jen*_*der 4 artifactory maven maven-central

我们有一个用于缓存的本地神器存储库设置.它在我们的项目中配置,但是当我查看构建过程的stdout时,我看到这样的行

Downloading: http://ourserver/artifactory/our-repo/javax/transaction/jta/1.1/jta-1.1-sources.jar
Downloading: http://repo1.maven.org/maven2/javax/transaction/jta/1.1/jta-1.1-sources.jar
Downloaded: http://repo1.maven.org/maven2/javax/transaction/jta/1.1/jta-1.1-sources.jar (25 KB at 54.5 KB/sec)
Run Code Online (Sandbox Code Playgroud)

所以看起来它试图从本地存储库和Maven Central下载jar然后实际使用Maven Central.

如果我在浏览器中复制本地存储库的URL,我会毫无问题地获得jar.

如果我检查神器的管理应用程序,我可以看到人工制品.

任何人都可以解释为什么使用Maven Central吗?

更新:发生了什么以及我做了什么:

orien的答案解释了为什么Maven Central被访问了.

mliebelt评论暗示我对我的解决方案:看起来我们的本地存储库在必须首先下载工件时才会缓慢回答.我将缓存配置为在请求pom时急切地下载jar和源.这应该减少从其他地方下载的工件数量.

ori*_*ien 7

Maven可以配置多个存储库.像在项目中一样添加存储库不会使您已配置的任何存储库失效.默认情况下,每个人都可以在Maven Central获取存储库.然后,Maven可以从任何可用的存储库中自由下载工件.

听起来你真正想做的就是建立一面镜子.您可以mirrorsettings.xml文件中配置:

<mirrors>
    <mirror>
        <id>our-server-repo</id>
        <name>our local repository</name>
        <url>http://ourserver/artifactory/our-repo</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>
Run Code Online (Sandbox Code Playgroud)

请注意,我们在mirrorOf元素中使用了通配符(*).这指定将通过指定的URL访问所有存储库.使用此配置,Maven将只访问您的本地Artifactory存储库.