Java 对版本范围使用范围导入

Java 对版本范围使用范围导入,java,maven,dependency-management,Java,Maven,Dependency Management,我们正试图集中我们在代码库中使用的所有工件的版本,以消除重复并简化版本切换任务 我们已经用所有工件和第三方工件的版本创建了一个BOM pom,并在每个工件的pom的dependencyManagement部分导入了它(范围导入) 为了避免每次bom版本更改时都必须更新每个工件,我们尝试在导入bom时使用版本范围 <dependencyManagement> <dependencies> <dependency> <groupId&

我们正试图集中我们在代码库中使用的所有工件的版本,以消除重复并简化版本切换任务

我们已经用所有工件和第三方工件的版本创建了一个BOM pom,并在每个工件的pom的dependencyManagement部分导入了它(范围导入)

为了避免每次bom版本更改时都必须更新每个工件,我们尝试在导入bom时使用版本范围

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.acme</groupId>
      <artifactId>bom</artifactId>
      <version>[1.0,)</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

com.acme
物料清单
[1.0,)
聚甲醛
进口
然而,maven似乎无法识别pom的dependencyManagement部分中的版本范围

我知道,如果我们的工件之间的关系是分层的,我们可以使用模块并从父POM发布。然而不幸的是,事实并非如此


这必须是maven的常见用例。我们做错了什么,或者存在其他解决方案吗?

版本范围通常不是一个好主意。您总是想确切地知道您将在应用程序中使用和打包什么。至少要确保能够复制旧版本。无论如何,maven在depMg中的范围似乎有问题nt()或不想支持它我想我不想支持它。maven 3.1.1尝试做的是下载。我们解析发行版的版本范围,但在develpoment中使用它们。