dependencyManagement
和 dependencies
有什么区别?
我在 Apache Maven 网站上看过文档。
似乎在 dependencyManagement
下定义的依赖项可以在其子模块中使用而无需指定版本。
例如:
父项目 (Pro-par) 在 dependencyManagement
下定义了一个依赖项:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8</version>
</dependency>
</dependencies>
</dependencyManagement>
然后在 Pro-par 的 child 中,我可以使用 junit:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
但是,我想知道是否有必要在父pom中定义junit?为什么不直接在需要的模块中定义呢?
最佳答案
Dependency Management 允许整合和集中管理依赖项版本,而无需添加所有子项继承的依赖项。当您有 一组继承共同父项的项目 (即多个)时,这尤其有用。dependencyManagement
的另一个极其重要的用例是控制传递依赖项中使用的 Artifact 版本。如果没有例子,这很难解释。幸运的是,这在文档中有说明。
关于maven - Maven中dependencyManagement和dependencies的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2619598/