【问题标题】:How to make versions-maven-plugin update maven-metadata-*.xml update before getting the latest artifact versions?如何在获取最新的工件版本之前使版本-maven-plugin 更新 maven-metadata-*.xml 更新?
【发布时间】:2012-06-05 21:31:19
【问题描述】:

我正在使用 versions-maven-plugin 来自动查找 maven 工件的最新发布/快照版本,这些工件可在许多不同的 nexus 存储库中找到。

插件似乎正在使用我本地存储库中的 ma​​ven-metadata-$REPO.xml(其中 $REPO 是存储库的 ID)文件来查找工件的最新版本。

我经常需要mvn:release一个artifact,然后就需要根据刚刚发布的artifact更新另一个artifact,但是versions-maven-plugin strong> 找不到它,因为它的最新版本列在那些 xml 文件中,即使它实际上存在于 nexus 中。

我希望你们中的一些人能提出我如何解决问题的想法。感谢您的宝贵时间。

【问题讨论】:

  • 部署新快照时,Maven 客户端会更新存储库元数据文件。如果您使用 Nexus 作为存储库管理器,我建议您针对模块运行“更新元数据”作业,或者将此任务作为计划作业运行。

标签: maven nexus maven-release-plugin versions-maven-plugin


【解决方案1】:

Maven 将工件的状态缓存一段时间(如果您曾经遇到工件下载失败并看到它说在经过一定时间之前不会再次尝试,这是该功能)。因此,如果它检查存储库中的工件,它不会在您每次尝试使用它时再次检查新版本,它会记住一段时间,然后在一段时间后再次检查。

但是,如果您重命名/删除(首先重命名是为了安全/以免丢失它)元数据文件,它将别无选择,只能重新下载新的元数据文件(因为它需要它并且repo 是它找到它的唯一地方),然后当它查看新文件时,它会看到你的工件的新版本并下载它们。

【讨论】:

    猜你喜欢
    • 2013-01-26
    • 1970-01-01
    • 2023-04-09
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多