【问题标题】:Maven unable to download from remote repositoryMaven无法从远程存储库下载
【发布时间】:2012-02-26 14:38:16
【问题描述】:

我正在尝试构建一个依赖于 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 install 时,它似乎试图查看 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>

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

感谢任何帮助。谢谢。

【问题讨论】:

    标签: maven


    【解决方案1】:

    这是因为镜像会镜像所有的仓库,:&lt;mirrorOf&gt;*&lt;/mirrorOf&gt;

    您可以像这样更改替换它:&lt;mirrorOf&gt;*,!tmatesoft-releases&lt;/mirrorOf&gt;

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

    【讨论】:

    • @Alex 如果答案有帮助,那么我建议通过接受答案来奖励回复
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的提示,迈克尔!奇怪的是,正如您所说,我将它作为代理添加到我们的 Nexus 存储库中,但是当我尝试推送到我们的公共存储库时,它似乎没有接受它……奇怪。跨度>
    猜你喜欢
    • 2014-04-13
    • 2020-08-30
    • 2018-04-08
    • 2011-07-16
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多