当前位置: 首页 > 面试题库 >

我如何才能使Maven停止尝试从maven-central-repo中检查特定组中工件的更新?

呼延英奕
2023-03-14
问题内容

我正在做一个相当大的Maven项目。我们可能有大约70个左右的工件,这些工件大致分为两个共享代码库,也可能有十个使用它们的应用程序。所有这些项目都位于命名空间中com.mycompany.*

在大多数情况下,我们都在使用快照构建。因此,要完整构建应用程序,我可能首先要构建库项目,以便将它们安装到我的本地存储库中(例如mycompany- libname-2.4-SNAPSHOT.jar)。

问题是,当我随后构建应用程序时。出于某种原因,Maven希望检查主要的两个公共存储库(maven-net-repo和java-net-
repo)以获取所有mycompany-*-SNAPSHOT.jar工件的更新。当然,在那儿找不到它们,所有东西最终都可以解析回我刚刚在本地存储库中构建的版本,但是我希望Maven停止这样做,因为(a)这会让我感觉像是一个糟糕的net.citizen不断检查这些存储库中是否存在永远不会存在的内容,并且(b)在我的构建过程中增加了一些不必要的烦人的网络延迟。

我大部分时间都是在脱机模式下运行Maven的,但这种方法并不理想,因为偶尔会更新对公共库的依赖。因此,我正在寻找一种解决方案,该解决方案将导致Maven不检查给定存储库中是否满足满足某些条件的工件的更新-
在这种情况下,如果Maven忽略SNAPSHOT版本或其中的工件,我将非常高兴。该com.mycompany命名空间。


问题答案:

updatePolicy标记对我不起作用。但是Rich
Seller提到无论如何都应该禁用快照,因此我进一步看了看,发现我添加到settings.xml中的额外存储库实际上是导致问题的原因。将快照部分添加到我的settings.xml中的此存储库中就可以了!

<repository>
    <id>jboss</id>
    <name>JBoss Repository</name>
    <url>http://repository.jboss.com/maven2</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>


 类似资料:
  • 在本地多模块项目上运行时,它会构建项目工件并将其安装到本地repo中。似乎可以清理项目特定的目标目录。 我对maven使用什么命令来让它从本地repo卸载我的项目模块?例如,我的项目输出foo-0.1.jar和bar-0.2.jar,我希望将它们从本地repo中删除,而不必亲自去那里删除它们。

  • 我有一个带有组类型存储库的Nexus服务器,其中包含Maven Center。我可以在Maven Center[1]中看到org.codehaus.mojo:cobertura-maven-plugin:2.5.1工件(包括pom和jar),但是当我试图使用Maven下载这个工件时,它说: 你知道为什么它不能下载工件吗? UPD:是的,我在settings.xml中设置了镜像,是的,存储库是“在服

  • 我对maven有依赖性问题。我曾经拥有位于maven central的saxon 8.7。然后,我不得不升级到最新的saxon-B9.1。0.0,仅部分位于maven central上。 这是我的依赖项的一个片段: 第一个工件“saxon”在maven central上可用,但第二个工件“saxon dom”可用。这是我想要的人工制品。 我可以告诉maven下载“jar”文件吗?或者我必须下载ja

  • 问题内容: 如果我有Maven工件信息(GroupId,ArtifactId,版本),我如何以编程方式(使用Java)从本地存储库中检索该Artifact? 具体来说,我需要能够连接到Maven存储库并创建/检索org.apache.maven.artifact.Artifact,以便检索与Artifact相关的文件。 我已经研究了m2e源代码,但是MavenImpl.java(提供Artifac

  • 问题内容: 想象一下一个使用Maven构建的Java项目,我为此: 一些快速运行的单元测试: 开发人员应在提交之前运行 我的CI服务器(Hudson,FWIW)应在检测到新提交后运行,以防出现故障时几乎立即给出反馈 一些运行缓慢的自动验收测试: 开发人员可以选择运行,例如重现和修复故障 成功运行单元测试后,我的CI服务器应运行 这似乎是一种典型的情况。目前,我正在跑步: 在“测试”阶段进行单元测试

  • 我正在尝试添加一个maven存储库,但似乎失败了。 我做错了什么?如何下载spring ldap工件? 更新我已经尝试了几个ArtiFactory,但都失败了 下载:http://repo1.maven.org/maven2//org/springframework/ldap/spring-ldap-1.3.1.release.jar[INFO]在存储库中找不到资源“org.springframe