如何引导 Maven 版本插件?



我们的项目 X 有一个依赖关系 Y。我们想使用 Maven 版本插件将 Y 更新到最新的可用版本。

当 Y 的版本设置并有效时(例如:到 2),我们没有问题。

<dependency>
<groupId>group</groupId>
<artifactId>Y</artifactId>
<version>2</version>
</dependency>

我们运行mvn versions:use-latest-versions并且 Y 的版本已更新(例如:更新为 3)。

<dependency>
<groupId>group</groupId>
<artifactId>Y</artifactId>
<version>3</version>
</dependency>

但是,我们不确定如何引导该过程。最初,我们不知道什么是Y的有效版本。如果我们指定无效版本(例如:12345),则会收到以下错误。

[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not find artifact group:Y:pom:12345 in <repo> (<http://repo-url/path>)

这是一个真正的问题。我们从另一个团队收到 Y。他们交付工件的Maven存储库包含最新的10个版本(例如:132-142)。

我们可以手动引导该过程,但它不会随着我们在实践中拥有的数十个依赖项而扩展。

潜在解决方案

我们无法实施任何这些解决方案。它们按优先顺序列出。有什么想法吗?

  • 有没有办法在不从pom.xml下载任何依赖项的情况下运行版本插件?
  • 有没有办法读取最新版本的依赖项(版本插件、其他插件)。然后我们可以在Maven之外更新pom.xml。
  • 别的东西?

如果您使用 Maven,则消失发布版本是一个问题,因为通常假定已发布的版本不会被删除(构建稳定性)。

如果你对删除旧工件的工件Y团队没有影响,你应该考虑在两者之间有一个Nexus/Artifactory作为代理。在那里,您可以保留用于构建的所有版本,以免遇到问题中描述的问题。

最新更新