gpt4 book ai didi

Maven独特的快照和依赖收敛

转载 作者:行者123 更新时间:2023-12-05 00:01:54 25 4
gpt4 key购买 nike

我有一个项目,其中 maven-enforcer 规则因使用非唯一快照(令人讨厌的是 Maven 3 中支持的唯一一种快照)的多模块构建而失败。

例如,假设 -> 是“依赖”关系,并且:

  • 模块-A -> 模块-B -> 模块-C
  • 模块-A -> 模块-C

  • 并且模块 B 和模块 C 作为唯一构建存在于快照存储库中。 POM 中所有声明的模块版本当前都是 1.0-SNAPSHOT。

    现在,构建模块 A 失败:
    mvn -pl Module-A install
    结果是:
    [INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce) @ Module-A ---
    [ERROR]
    Dependency convergence error for com.vivosys.project:Module-C:1.0-SNAPSHOT paths to dependency are:
    +-com.vivosys.project:Module-A:1.0-SNAPSHOT
    +-com.vivosys.project:Module-B:1.0-20111228.032527-8
    +-com.vivosys.project:Module-C:1.0-SNAPSHOT
    and
    +-com.vivosys.project:Module-A:1.0-SNAPSHOT
    +-com.vivosys.project:Module-C:1.0-20111228.032527-6

    传递依赖被解析为非唯一快照构建,但直接依赖被解析为唯一快照构建。

    我正在使用 maven 3.0.3,maven-enforcer 1.0.1。存储库是使用唯一快照选项的 Artifactory 2.4.2(Artifactory 建议,因为 Maven 3 不再支持非唯一快照)。

    解决方案?

    更新 :看起来 Artifact 允许覆盖 Maven 客户端行为并将非唯一快照存储在存储库中。然而,由于某种原因,Artifactory 不推荐这样做(参见 http://wiki.jfrog.org/confluence/display/RTF/Local+Repositories 上的“Maven 3”简介),因此仍然欢迎使用其他解决方案。

    最佳答案

    此错误已修复 (MENFORCER-118) 和 released在 1.1 版中。

    关于Maven独特的快照和依赖收敛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662129/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com