dependencies与dependencyManagement的区别

发布时间 2023-08-31 14:20:05作者: 逐梦北京

当我们的maven项目中的依赖过多时,为了更好的做版本管理,我们要创建一个父项目来管理这些依赖(这个父项目的打包方式为pom)

dependencies与dependencyManagement的区别:

  • 在父项目中的dependencies中定义的所有依赖,在子项目中都会直接继承,
  • 在父项目中的dependencyManagement中定义的所有依赖,子项目并不会继承,我们还要在子项目中引入我们需要的依赖,才能进行使用,但是,我们在子项目中不用设置版本.如下: 父项目

<dependencyManagement>
        <dependencies>
    <!--这个要子项目引入才能使用-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.61</version>
            </dependency>
        </dependencies>
</dependencyManagement>

<dependencies>
<!--这个依赖,子项目一定会依赖,可以直接使用-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.8.1</version>
        </dependency>
</dependencies>
子项目
<!--什么也不写-->
    <dependencies>
    </dependencies>

我们在子项目中什么也没写,但是查看它们的依赖如下图:

 

但是当子项目中添加如下:
<!--添加一个fastjson-->
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
    </dependencies>