Maven Version Range - 下载所有可用版本,而不仅仅是最新版本

Maven Version Range - downloads all the available versions not just the latest one

我有两个模块:A 和 B。 A 依赖于 B.

在模块 A 中存在对 B 的依赖,版本设置如下:[1.0.0,)

B 有两个版本:1.0.0-1 和 1.0.0-2。 1.0.0-1 已过时,它缺少一些依赖项,因此我无法从中创建构建。但是 1.0.0-2 工作正常。

当我使用模块 A 的安装时,出现错误 B:1.0.0-1 缺少依赖项。

发生这种情况是因为 maven 从 1.0.0 下载了所有版本,而不仅仅是最后一个。

如果我使用 LATEST,那么只会下载 1.0.0-2,但这不是我想要的。基本上我只想下载 1.0.0 的最新版本。

我该怎么做?

感谢您的回答!

(Maven 版本: 3.5.0)

首先不要使用版本范围,因为它们会使您的构建不可重现。如果您想更新类似的东西,您可以使用 versions-maven-plugin 来更新依赖项。除此之外,1.0.0-11.0.0-2 之间有什么区别。根据您的解释,我认为您应该更改版本架构,因为第二个与第一个不兼容,所以我会说 2.0.0 而不是 1.0.0-2.. 或者将其视为错误修复而不是 1.0.1...(遵循 semver)。另一点 LATEST 被标记为已弃用很长时间,并将在下一个 Maven 版本中产生警告..

向您解释:我怀疑是否正在下载所有工件...如果您查看日志输出,我假设有一些行说 ...maven-metadata.xml 将被下载...

第一部分答案...