为什么maven试图在我的本地关系之前从repo1,maven.org下载?

时间:2011-01-14 19:28:00

标签: maven nexus

我已经安装了nexus,并配置了我的settings.xml以使用我的本地nexus作为存储库,但是,它始终尝试从repo1.maven.org中获取工件,然后在从nexus获取之前超时。

3 个答案:

答案 0 :(得分:5)

您需要在settings.xml中声明Nexus是外部存储库的镜像,如Nexus book(您应该阅读)中所述。

<mirrors>
  <mirror>
    <!--This sends everything else to /public -->
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url>http://nexushost:8081/nexus/content/groups/public</url>
  </mirror>
</mirrors>

答案 1 :(得分:1)

我们通常在POM.xml中声明存储库:

<repositories>
    <repository>
        <id>internal</id>
        <url>http://192.168.0.10:8084/nexus/content/repositories/public</url>
    </repository>
    <repository>
    ...

根据文档,settings.xml中的信息是&#34; local&#34;存储库,表示硬盘中的M2_REPO副本。 http://maven.apache.org/settings.html

此外,我们将Nexus设置为外部回购的镜像,因此您只需在Nexus服务器上声明这些内容。

答案 2 :(得分:0)

在2.2.1和3.0.3中,如果您使用-gs选项覆盖默认值并指定自定义的全局设置文件,则在某些情况下会忽略镜像。确保conf中有一个有效的settings.xml。