【问题标题】:Updating Dependency Version in POM在 POM 中更新依赖版本
【发布时间】:2019-03-11 10:24:30
【问题描述】:

一旦构建了依赖项的发布,自动更新 pom.xml 中的依赖项版本的最佳方法是什么。

示例: A - 模块项目 B - 使用项目 A 作为依赖项目。

一旦构建了 A 的新版本,我想自动更新 pom.xml 中 A 的版本。

这可以在多个项目中实现吗?

我们正在使用 jenkins 进行 CI

问候, 阿德南汗

【问题讨论】:

  • 如果你已经使用了maven-release-plugin,那么版本的更新会完成吗?我错过了什么吗?
  • 依赖项和父项是独立的模块并且具有不同的存储库路径。在我的情况下,如果我正在为依赖项构建一个版本并且新版本更新到 1.1,我希望这个版本能够自动更新使用这个的父模块和其他模块。截至目前,我们有一个脚本可以从父模块中检查代码并更新 git 上的更新版本。

标签: maven maven-plugin maven-release-plugin maven-dependency-plugin


【解决方案1】:

您可以致电mvn versions:use-releases,然后在发布前对 Jenkins 进行提交。这会将所有快照版本替换为发布版本(如果存在)。

【讨论】:

  • 感谢回复,我不确定 mvn version 将如何自动更新依赖版本和父 pom 和其他模块,因为它们具有不同的存储库路径。我们正在拉取父代码并更新依赖版本并推送代码,以便可以完成其他模块的发布构建。
  • 我的建议:在构建 B 之前,调用版本插件的适当目标来更新依赖项 A 的版本。因此,在构建 A 时,此更新不会是临时的,而是在 B 之前建成。
【解决方案2】:

最好的方法是使用 Renovate,它是一个已经在 github 和 gitlab 中使用的 DevOps 工具。它也是开源的,您可以在自托管的 gitlab 中使用。它不仅适用于 maven,还适用于所有包管理器,如 npm、pip、dockerhub,您可以在以下链接中阅读更多信息:

https://resources.whitesourcesoftware.com/blog-whitesource/welcome-to-whitesource-renovate

【讨论】:

    猜你喜欢
    • 2017-10-25
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多