我已经完成了differences between dependencymanagement and dependencies in maven,但我还不清楚何时使用
父pom中的dependencies
标记以及何时使用dependenciesManagement
代码?
我的理解是当我的所有子模块需要使用相同的依赖版本时,我们应该在Dependencies
标记下声明依赖项(不带dependencyManagement
标记)
但另一方面,如果某个子项目需要使用不同的版本,那么我们应该在Dependencies
标记(将在dependencyManagement
标记下)声明依赖项。然后子模块可以用重写版本
这是对的吗?
答案 0 :(得分:2)
在<dependency>
内声明<dependencyManagement>
不会将指定工件设置为任何项目(父项或子项)的依赖项。它只是声明:如果你想将它用作依赖关系,那么你可以将它用于这些设置(version
,scope
,...),而不必再次指定设置,并且再次,和。但是,你可以覆盖管理&#34;设置在&#34;真实&#34; <dependency>
随时随地。
另见POM Reference, Dependency Management。
父POM有两个关于第二段的选项:
正如您所描述的那样:
<dependencies>
<dependency>
<groupId>g-id</groupId>
<artifactId>a-id</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
我将此用于保持一致性:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>g-id</groupId>
<artifactId>a-id</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>g-id</groupId>
<artifactId>a-id</artifactId>
</dependency>
</dependencies>
你的第三段是正确的..