我们正在尝试集中我们在代码库中使用的所有工件的版本,以消除重复并简化碰撞版本的任务。
我们已经创建了一个BOM pom,其中包含我们所有工件和第三方工件的版本,并将其导入(范围导入)在每个工件的poms的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>
然而,maven似乎无法识别pom的dependencyManagement部分中的版本范围。
我知道如果我们的工件之间的关系是分层的,我们可以使用模块并从父POM中释放。然而不幸的是情况并非如此。
这必须是maven的常见用例。我们做错了什么或存在其他解决方案?