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 @   奋斗终生  Views(91)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2023-08-14 面试官:为什么MySQL不建议使用NULL作为列默认值?(转)
点击右上角即可分享
微信分享提示