我们的项目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)。
我们可以手动引导该过程,但它不会随着我们实践中的数十个依赖项而扩展。
潜在解决方案
我们无法实施任何这些解决方案。它们按优先顺序列出。有什么想法吗?
答案 0 :(得分:1)
如果您使用Maven,消失的版本是一个问题,因为通常认为不会删除已发布的版本(构建稳定性)。
如果您对团队Y没有影响删除旧文物的工件Y,您应该考虑在其间使用Nexus / Artifactory作为代理。在那里,您可以保留您用于构建的所有版本,这样就不会遇到问题中描述的问题。