【问题标题】:How to force maven to always download parent pom如何强制 maven 始终下载父 pom
【发布时间】:2014-11-12 05:18:19
【问题描述】:

我正在使用父 pom 跨多个项目共享依赖项和插件。父 pom 部署到我们的 nexus 存储库。在子项目中,父 pom 是这样包含的:

<project>
  <parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>app-parent</artifactId>
    <version>1.0.0</version>
  </parent>
  <groupId>com.mycompany.app</groupId>
  <artifactId>app-web</artifactId>
  <version>1.2.0</version>
  <repositories>
    <repository>
      <id>my-internal-site</id>
      <url>http://nexus/repo</url>
    </repository>
  </repositories>
</project>

当父 pom 更新时,希望保持相同的版本,以便子项目自动获取更新的依赖项而无需更新。但是,即使我使用,似乎父 pom 也没有更新 mvn clean -U

如何强制 maven (maven 3) 始终从远程 repo 下载父 pom,即使它已经在本地存储库中?

【问题讨论】:

  • 您可能希望您的父 pom 处于 SNAPSHOT 版本以获得您想要的行为。否则,如果您要更新父 pom,则应该更新版本。

标签: maven maven-3


【解决方案1】:

如果您定义了这样的父版本,它将被下载一次。之后它不会第二次下载,因为版本是不可变的。如前所述,您需要考虑使用 SNAPSHOT。

【讨论】:

    【解决方案2】:

    你应该重新安装父项目到你的本地仓库,尝试在app-parent目录下运行mvn install

    【讨论】:

    • 谢谢,这将是一个选项,但我想从远程存储库下载父,而不是本地存储库。
    【解决方案3】:

    FWIW 我有一个案例,maven 没有下载父级,而只是一个 .lastUpdated 文件(列出了下载失败)。即使我运行了 help:effective-pom,它似乎也只是忽略了父级不可下载且不存在的事实,并继续其愉快的方式。

    修复是从 maven 3.3.3 升级到 3.3.9

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2017-02-22
      • 2010-11-02
      • 2010-12-31
      相关资源
      最近更新 更多