因此,我正在以以下方式声明依赖项的项目,然后我问这是一种可伸缩/适当的方式还是有更好的公式。
我们要做的第一件事是在当前项目中声明依赖项,不指定版本部分:
<dependencies>
<dependency>
<groupId>org.dependency</groupId>
<artifactId>dependency1</artifactId>
</dependency>
</dependencies>
然后,我们将版本分配委托给辅助pom ,将其称为“ common-management.pom”,每个项目都委托给这个项目(这意味着:每个项目都导入该pom来管理他们的pom依赖版本)
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.company</groupId>
<artifactId>common-management</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<dependencyManagement>
现在,我们更改为common-management.pom,并使用此依赖项的版本声明一个变量
<properties>
<variable1.version>1.0.0</variable.version>
</properties>
最后,我们在common-management.pom的dependencyManagment部分中将依赖项与它的版本相关联
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.dependency</groupId>
<artifactId>dependency1</artifactId>
<version>${variable1.version}</version>
</dependency>
</dependencies>
<dependencyManagement>
任何评论将不胜感激。谢谢!
答案 0 :(得分:0)
这是一种合理的方法。
您仅用一个替换许多版本号。这样可以更轻松地保持版本的一致性。另外两个方面:
仅当项目以某种方式互连时,对齐所有这些版本才有意义。如果您将区域完全分隔开,则每个区域最好有一个BOM(“第二级pom”),因为否则会将两个区域隐式地绑在一起。
该方法不能保证每个人都使用相同的版本,因为仍然必须更新BOM表的版本。但是,在许多情况下,这是一个优势,因为并非每个人都必须同时进行更新。另一方面,如果您始终同时构建所有项目,则多模块项目可能是更好的选择。