0

我正在通过 Artifactory 设置我的第一个“托管”常春藤存储库,我想知道我是否必须为我部署的每个工件手动编写所有常春藤描述符 (XML)。

这会很痛苦

在这些情况下,“真正的”回购管理员会做什么?手写它们?Wrtie 脚本为您生成它们?是否有与 Maven 中央存储库等效的常春藤,我可以从中复制描述符?如果我访问http://mvnrepository.com/并搜索一个 JAR,我会看到它在“Maven”旁边有一个“Ivy”选项卡,但它只包含元素,而不是Ivy 需要<dependency/>的整个XML 实例。<ivy-module>

4

3 回答 3

2

重读您的问题后,我意识到我回答了其他问题:) 对此感到抱歉。您可以做很多事情:

  1. 首先,看看Ivy RoundUp。它是您可以在 Artifactory 中代理的 Ivy 存储库。
  2. 如果这还不够(即您所追求的依赖项不存在),请考虑从 Maven 的 POM 开发某种翻译(xslt 可以提供帮助,如果您对它们很好的话,也许可以使用一些 groovy 或 ruby​​ 中的脚本)。
  3. 最激进的解决方案可能是切换构建工具。我强烈建议 Gradle,它在底层使用 Ivy 进行依赖管理,但与 Ant 相比有很多优势。其中之一与我们的讨论相关——它在部署时生成所有需要的元数据。
于 2012-02-23T08:15:37.880 回答
0

您不需要任何其他工具。只需浏览 Artifactory 树,找到您需要的依赖项。在 General 面板上查找 Dependency Declaration 部分。从下拉列表中选择“常春藤”。常春藤依赖声明将出现。将鼠标指向它。将出现“查看源代码”、“复制到剪贴板”和“打印”按钮。选择副本。现在您的剪贴板中有正确的声明。

这是一个屏幕截图

于 2012-02-23T06:24:04.183 回答
0

您可以使用ivy:installant 目标轻松地从其他存储库导入模块:

    <target name="--install.do" if="valid.args">
        <ivy:install 
              organisation="${org}" 
              module="${module}" 
              revision="${version}"
              from="${from}"
              to="local" 
              transitive="false" 
              overwrite="true"/>
    </target>

${from}ivy.settings.file.

于 2012-02-23T08:20:50.693 回答