【问题标题】:Ivy, Maven - Map transitive dependencyIvy, Maven - 映射传递依赖
【发布时间】:2012-10-06 17:37:56
【问题描述】:

假设我们有一堆人工制品,所有这些人工制品都对

artefact{group=zambia, id=zebra}

出于我无法理解的原因,一些聪明的家伙将以前称为 artefact{group=zambia, id=zebra} 的内容更新为

artefact{group=africa, id=hello-zebra}

让一大堆人工制品失去对 {zambia:zebra} 的子引用

我们还要说,由于我无法解释的原因,我无法将这些父构件 pom 或 ivy.xml 更新为依赖于 {africa:hello-zebra}。

问题

我的 pom 和/或 ivy.xml 中是否有办法将 {zambia:zebra} 上的任何传递依赖重定向到 {africa:hello-zebra}?

【问题讨论】:

  • 我不清楚这是一个常春藤问题。什么存储库用于存储工件? Maven还是常春藤?我怀疑这是 Maven 父/子 POM 关系的问题。更多信息会有所帮助。
  • 这确实是一个 Ivy 和 Maven 的问题。我只是使用 Maven 术语来问这个问题。我确实需要一个关于如何从一个 Ivy artefact org:name 重定向到另一个 artefact org:name 的答案。 repo 服务生成 maven 和 ivy 人工制品。
  • 肯定是一个固定版本的模块,依赖于另一个固定版本的模块。我不清楚新版本如何改变以前的版本......
  • 想象一个指向目录的软链接(unix 或 win)。有人重命名了目录,现在软链接是孤立的。现在有数百个软链接链接到现在重命名的目录。我想要一个映射器将所有软链接映射到新命名的目录。
  • 存储库的全部意义在于保留旧版本的不变副本。您不能更改这些旧版本并期望您的构建客户端解决问题,这是没有意义的......请原谅我,我仍然感到困惑......

标签: java maven ivy


【解决方案1】:

我不了解 Ivy,但对于 Maven,请查看这篇文章:

http://maven.apache.org/guides/mini/guide-relocation.html

看起来像为旧工件上传一个 pom.xml 到您的存储库,并带有 relocation 元素可能会奏效:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>zambia</groupId>
  <artifactId>zebra</artifactId>
  <version>????</version>
  <distributionManagement>
    <relocation>
      <groupId>africa</groupId>
    </relocation>
  </distributionManagement>
</project>

【讨论】:

    猜你喜欢
    • 2014-11-28
    • 2012-08-29
    • 2013-10-24
    • 1970-01-01
    • 2014-08-08
    • 2018-07-06
    • 2013-02-17
    • 2019-08-23
    相关资源
    最近更新 更多