dependencyManagementdependencies 有什么区别?
我在 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/

10-12 19:56