在哪里可以找到 Artifactory 存储库的 Ivy 描述符

发布于 2025-01-08 13:02:18 字数 417 浏览 0 评论 0原文

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

这将是痛苦

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

I'm setting up my first "managed" Ivy repository via Artifactory and am wondering if I have to hand-write all the Ivy descriptors (XMLs) for each artifact I deploy.

This would be painful.

What do "real" repo admins do in these situations? Hand-write them? Wrtie scripts to generate them for you? Is there the Ivy equivalent to Maven Central Repository where I can just copy down descriptors from? If I go to http://mvnrepository.com/ and search for a JAR I see it has an "Ivy" tab next to the "Maven" one, but it just contains the <dependency/> element, not the entire <ivy-module> XML instance that Ivy needs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

万劫不复 2025-01-15 13:02:18

重读您的问题后,我意识到我回答了其他问题:) 对此感到抱歉。
您可以执行多种操作:

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

After rereading your question I realized that I answered something else :) Sorry about that.
There are number of things you can do:

  1. First, look at Ivy RoundUp. It is Ivy repository that you can proxy in Artifactory.
  2. If it is not sufficient (i.e. the dependencies you are after aren't there) think about developing some kind of translation from Maven's POM (xslt can help, maybe some script in groovy or ruby if you are good with them).
  3. The most radical solution might be switching build tool. I'd strongly suggest Gradle, it uses Ivy under the hood for dependency management, but has lots of advantages over Ant. One of them that is relevant to our discussion - it generates all the needed metadata on deploy.
一曲琵琶半遮面シ 2025-01-15 13:02:18

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

这是屏幕截图

You don't need any other tool. Just browse Artifactory tree, find the dependency you need. On the General panel look for Dependency Declaration section. Select "Ivy" from drop-down list. Ivy dependency declaration will appear. Point your mouse to it. "View source", "Copy to clipboard" and "Print" buttons will appear. Select copy. Now you have the correct declaration in you clipboard.

Here's a screenshot

柠檬 2025-01-15 13:02:18

您可以使用 ivy:install< /a> ant 目标可以轻松地从其他存储库导入模块:

    <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 中定义的解析器的名称。

You can use the ivy:install ant target to easily import modules from other repositories:

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

Where ${from} is the name of a resolver defined in your ivy.settings.file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文