Maven无法从远程存储库下载

时间:2012-02-04 01:59:27

标签: maven

我正在尝试构建一个依赖于SVNKit的Maven模块。

所以我的pom.xml看起来像这样:

<dependencies>
    <dependency>
        <groupId>org.tmatesoft.svnkit</groupId>
        <artifactId>svnkit</artifactId>
        <version>1.3.7</version>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>tmatesoft-releases</id>
        <url>http://maven.tmatesoft.com/content/repositories/releases/</url>
    </repository>
</repositories>

当我尝试进行mvn clean安装时,看起来它似乎试图查看Nexus存储库,显然无法找到它。我显然是尝试从远程存储库下载工件:http://maven.tmatesoft.com/content/repositories/releases

我在〜/ .m2 /文件夹中查看了我的settings.xml文件,发现有一个看起来像这样的镜像:

<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>

<url>http://Our_Nexus_Repository</url>
</mirror>

我认为,如果您定义<reposotiry>标记,则模块的pom.xml将优先于settings.xml文件中定义的内容。

感谢任何帮助。谢谢。

2 个答案:

答案 0 :(得分:3)

这是因为镜像将镜像所有存储库:<mirrorOf>*</mirrorOf>

您可以更改替换它:<mirrorOf>*,!tmatesoft-releases</mirrorOf>

更多信息,请访问:http://maven.apache.org/guides/mini/guide-mirror-settings.html

答案 1 :(得分:0)

通过在settings.xml中使用镜像语句的方式,您可以指导maven始终转到您的存储库。如果确实是您希望的行为,则应在nexus安装中为tmatesoft-releases存储库创建代理。

执行此操作的常用方法是为您希望在nexus安装上拥有的所有版本设置存储库组。然后根据需要将代理存储库添加到组中,用户无需更改其settings.xml即可立即查看您添加的新存储库。