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-1
和 1.0.0-2
之间有什么区别。根据您的解释,我认为您应该更改版本架构,因为第二个与第一个不兼容,所以我会说 2.0.0
而不是 1.0.0-2
.. 或者将其视为错误修复而不是 1.0.1
...(遵循 semver)。另一点 LATEST
被标记为已弃用很长时间,并将在下一个 Maven 版本中产生警告..
向您解释:我怀疑是否正在下载所有工件...如果您查看日志输出,我假设有一些行说 ...maven-metadata.xml
将被下载...
第一部分答案...
我有两个模块: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-1
和 1.0.0-2
之间有什么区别。根据您的解释,我认为您应该更改版本架构,因为第二个与第一个不兼容,所以我会说 2.0.0
而不是 1.0.0-2
.. 或者将其视为错误修复而不是 1.0.1
...(遵循 semver)。另一点 LATEST
被标记为已弃用很长时间,并将在下一个 Maven 版本中产生警告..
向您解释:我怀疑是否正在下载所有工件...如果您查看日志输出,我假设有一些行说 ...maven-metadata.xml
将被下载...
第一部分答案...