代码之家  ›  专栏  ›  技术社区  ›  Nils Schmidt

如何防止maven解析本地存储库中的依赖关系

  •  10
  • Nils Schmidt  · 技术社区  · 16 年前

    有没有办法告诉maven 打包 mvn站点

    问题背景: 有时,当以前缓存的依赖项(例如SomeProject-0.7-ALPHA)在远程存储库中不再可用时,我会遇到问题。在我的本地构建中,由于依赖关系以前已经被缓存过,所以一切仍然正常。当我与其他人共享pom时,他们可能会遇到麻烦,因为他们没有该依赖项的缓存版本,并且无法再从远程存储库解析该依赖项。

    任何帮助都将不胜感激。提前谢谢!

    2 回复  |  直到 16 年前
        1
  •  20
  •   Pascal Thivent    16 年前

    有没有办法告诉maven(在执行mvn包、mvn站点或…)不要从本地存储库解析依赖关系?

    不,这就是整个依赖关系解析的工作方式(通过本地存储库)。

    有时,当以前缓存的依赖项(例如SomeProject-0.7-ALPHA)在远程存储库中不再可用时,我会遇到问题。

    很抱歉这么说,但是从远程存储库中删除依赖项是一种可怕的做法,会导致。。。你所面临的麻烦。如果可能,避免这样做。

    检查事情是否对其他人有用的一种方法是 净化 Maven Dependency Plugin 有一个 purge-local-repository 目标就是这样。

    mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:purge-local-repository  \
        -DreResolve=true \
        -DactTransitively=true \ 
        -Dverbose=true
    

        2
  •  2
  •   khmarbaise    16 年前

    maven构建的基本测试是删除本地repository.m2/repository并尝试构建(mvn包),看看它是否正常工作。如果没有,你还有其他问题。如前所述,问题似乎是你正在处理的过程。如果远程存储库不再提供依赖项,则会出现其他问题。您是否在使用存储库管理器,例如Nexus、Archiva、Artifactory?

    推荐文章