代码之家  ›  专栏  ›  技术社区  ›  PaulEdison

如何强制mvn重装快照

  •  0
  • PaulEdison  · 技术社区  · 7 年前

    我得到了一个maven项目(myApp),它依赖于快照版本中的另一个maven项目。

    <dependency>
        <groupId>org.group.dep</groupId>
        <artifactId>arty</artifactId>
        <version>12.1.4-SNAPSHOT</version>
    </dependency>
    

    但在“arty”没有更改版本的情况下得到更新后,我遇到了一个问题(我知道这将是最干净的解决方案)。 我在本地构建myApp,仍然得到旧版本的“arty”依赖项。


    1) 手动清理本地存储库:导航到my .m2/repo/org/group/dep/arty

    2) 本地构建arty包,以便在本地存储库中对其进行更新。在重建了myApp本地版之后,它运行得很好。


    我刚找到詹金斯的工作 org.group.myApp 以前没有建筑 org.group.dep.arty . arty“因为缺少表单而失败”。


    我不能依赖第一栋楼 因为我不能确定Jenkins是否使用相同的本地存储库在同一主机上运行这两个作业(我不想改变这一点)。 在我手动清除Jenkins节点之后,myApp作业失败了 组织集团部门.艺术 在存储库中运行,而不是myApp作业(不知何故没有下载包)。

    mvn -u 但当我试着这么做的时候,我也很失望。 我在詹金斯身上尝试了不同的maven版本,结果是一样的。 是否无法强制更新快照版本?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Mark Bramnik    7 年前

    如果是这样,您可以使用 --also-make 使maven能够有效地重建模块及其所有依赖项的选项

    如果是完全不同的项目,请使用 mvn -U 强制下载 项目的快照依赖项。

    如果某个具体的依赖项存在特定问题,请考虑使用 mvn dependency:get get maven-dependency-plugin

    Here is a link to the plugin documentation

        2
  •  1
  •   khmarbaise    7 年前

    重新下载的最简单解决方案 -SNAPSHOT 是通过使用命令行选项: -U 或作为长期期权 --update-snapshots