Maven 如何理解父母';什么是pom版本?

Maven 如何理解父母';什么是pom版本?,maven,range,pom.xml,Maven,Range,Pom.xml,我有一个带有子pom的Maven项目,它将父对象的pom版本指定为一个类似 <version>[1.0.0,1.1.0)</version> [1.0.0,1.1.0) 如何确定实际使用的是哪个版本的父pom mvn dependency:tree将给出依赖项的版本,但不会给出父依赖项的版本 mvn帮助:有效的pom将给出整个生成的pom,而不显示版本。版本范围的含义在apache文档中非常明确,我认为这是我们知道的,其描述如下: 尝试将依赖项版本范围解析为特定版本

我有一个带有子pom的Maven项目,它将父对象的pom版本指定为一个类似

<version>[1.0.0,1.1.0)</version>
[1.0.0,1.1.0)
如何确定实际使用的是哪个版本的父pom

mvn dependency:tree
将给出依赖项的版本,但不会给出父依赖项的版本


mvn帮助:有效的pom
将给出整个生成的pom,而不显示版本。

版本范围的含义在apache文档中非常明确,我认为这是我们知道的,其描述如下:

尝试将依赖项版本范围解析为特定版本 正在生成中使用。例如版本范围“[1.0,1.2)” 将解析为当前使用的特定版本“1.1”

这里的“当前正在使用…”指的是在给定范围内的工件的最新版本,这些工件可在其部署和获取的存储库中使用

  • 对于依赖项,指定范围还可以确保在从存储库下载依赖项时,maven将下载范围内指定的所有依赖项,但使用当前版本可用的最新版本。
    为了在IDE上确认这一点,您可以导航到工件的实现,它将带您到项目中使用的有效pom
  • 对于父级,指定范围不需要下载他们的工件,但我相信即使使用当前的实现(3.3.9),Maven也无法正确解析父级。如果我为相同的对象指定范围,我就不会看到父级的实现。同样,对于正在进行中的对象,也是如此

我建议避免使用版本范围…您会使构建不可复制。。。