dependencyManagement和 和有什么不一样dependencies?我在 Apache Maven 网站上看过文档。似乎dependencyManagement可以在其子模块中使用在其下定义的依赖项而无需指定版本。
dependencyManagement
dependencies
例如:
父项目 (Pro-par) 在以下项下定义了一个依赖项dependencyManagement:
<dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8</version> </dependency> </dependencies> </dependencyManagement>
然后在 Pro-par 的孩子中,我可以使用 junit:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies>
但是,我想知道是否有必要在父pom中定义junit?为什么不在需要的模块中直接定义呢?
依赖管理允许合并和集中管理依赖版本,而无需添加所有子代继承的依赖。当您有 一组项目 (即多个项目)继承了一个共同的父项目时,这尤其有用。
另一个极其重要的用例dependencyManagement是控制传递依赖项中使用的工件的版本。如果没有例子,这很难解释。幸运的是,文档中对此进行了说明。