maven dependencyManagement

1.简介:

本文介绍maven的dependencyManagement的用法。

2.使用场景:

dependencyManagement只声明依赖,但不引入依赖。一般定义在父pom中,这样子pom项目引入依赖时,不必指定版本号。比如Spring Boot就使用了dependencyManagement,它对里面的包进行了与Spring Boot对应版本的兼容性测试。

如果你想在子pom中使用包的其它版本,在子pom中指定version即可,这样就会使用子pom的version。

 

3.dependencyManagement与dependencies区别:

(1)dependencies 即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)

(2)dependencyManagement里只是声明依赖,并不实现引入。

(3)因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

4.用法:

父pom

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.44</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

 

子pom

   <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
   </dependencies>

 

 

posted @ 2024-08-14 14:28  奋斗终生  Views(56)  Comments(0Edit  收藏  举报