gpt4 book ai didi

maven - 使用 Maven 元数据发布 Ivy 快照

转载 作者:行者123 更新时间:2023-12-01 12:46:08 24 4
gpt4 key购买 nike

我有一个 Ivy 项目,将其 Artifact 发布到 Nexus Maven 存储库。然后我需要其他 Maven 项目才能使用这些 jar 作为依赖项。我已经能够让 Ivy 创建和上传 pom.xml 以及 jar ,这工作正常。问题是,当我使用 Ivy 发布新的 SNAPSHOT 版本时——没有任何 Maven 项目会检索新的快照依赖项,即使我这样做了:

mvn clean install -U

我注意到 Ivy 没有将 maven-metadata.xml 文件发布到存储库——我认为这就是问题所在?如果是这样,是否有任何方法可以让 Ivy 生产这个?

最佳答案

Ivy 可以配置为在解析依赖项时读取此文件(参见 ibilio 解析器的“m2compatible”属性),但是 publish任务不会创建或更新此文件.....

看起来创建和更新“maven-metadata.xml”文件是客户端的工作……这是 Maven 存储库的一个未记录的功能。 (如果有人能找到描述它的地方,也许可以修复 Ivy 错误)。

标准的解决方法是定期安排 Nexus 任务来重新生成元数据文件。见:

一个更极端的解决方案是使用 Maven ANT执行发布步骤的任务....

关于快照修订的评论

最近我得出结论,快照发布不值得付出努力。持续交付提倡每个构建都可能发布并且 Ivy 有一个漂亮的概念 buildnumber确保每个构建都是唯一的任务。当只有一种构建时,我发现我的构建过程更简单。

快照是仅在使用 Maven 与其他项目共享开发构建 Artifact 时才需要的功能。恕我直言,ivy 的动态修订功能更强大,因为它们在构建时解析“最新”修订。查看deliver如何任务与 makepom 结合以下示例中的任务:

关于maven - 使用 Maven 元数据发布 Ivy 快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15771776/

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