将maven存储库列入黑名单

时间:2013-03-18 17:18:01

标签: java maven

当我为我的项目运行集成测试时,它正在尝试搜索正在被传递的仓库,我需要等待一段时间。我把这个回购列入黑名单。

   <repository>
        <id>seacrh-snapshots</id>
        <name>Exodus Snapshot Repository</name>
        <url>http://repo URL/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
   </repository>

但是当我运行IT测试时,它仍在拉回这个回购:

Downloading: URL repo/maven-metadata.xml

还有什么需要改变吗?

2 个答案:

答案 0 :(得分:3)

我强烈建议您使用Nexus等Maven资源库管理器。它将帮助您使用Maven获得稳定且可重现的构建。您可以在那里禁用存储库(或者Nexus也可以为您处理此问题)。

http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html

http://maven.apache.org/repository-management.html

答案 1 :(得分:3)

通常,当maven运行时,它会按以下顺序获取工件

  1. 检查您当地的.m2 /存储库文件夹
  2. 如果它找不到工件,那么它会读取你的pom / parent pom / super Pom / user level setting.xml / global setting.xml - 按顺序找到外部存储库来下载工件,通常是这些repo直接来自互联网(如预先配置的默认maven存储库)或本地私人存储库管理器(如nexus,Artifactory)。
  3. Maven将按照声明的顺序执行repo。
  4. 首先,检查您的项目是否有效 - 没有其他任何内容覆盖您的配置。要么在终端输入mvn help:有效pom在项目根目录上,要么轻松地在你的pom的eclipse“有效pom”视图中。

    否则,考虑安装本地存储库管理器是一个很好的用例,因为每次运行maven时,并不总是需要从外部获取第三方依赖项。 我会推荐Artifactory比nexus好多了。