mvn中dependencyManagement的使用详解

作者:一首简单的歌 时间:2021-11-05 10:19:20 

dependencyManagement一般出现在最顶层父工程的pom文件中,它的作用是用来管理jar版本,让子项目引用一个依赖而不用指明版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后使用在dependencyManagement元素中指定的版本号。下面以若依微服务框架中的一处应用为例进行说明。父pom文件中对于分布式文件系统的依赖声明如下:

<properties><tobato.version>1.26.5</tobato.version>
</properties>
<!-- 依赖声明 -->
   <dependencyManagement>
       <dependencies>

<!-- FastDFS 分布式文件系统 -->
           <dependency>
               <groupId>com.github.tobato</groupId>
               <artifactId>fastdfs-client</artifactId>
               <version>${tobato.version}</version>
           </dependency>
       </dependencies>
   </dependencyManagement>

需要用到分布式文件系统的子项目的pom声明如下:

<dependencies>
       <!-- FastDFS -->
       <dependency>
           <groupId>com.github.tobato</groupId>
           <artifactId>fastdfs-client</artifactId>
       </dependency>

</dependencies>

子项目中只是声明使用此依赖即可,可不用指定版本(将使用父pom同一指定的版本),若指定了版本,将以子项目的版本号为主。

总结:

可统一管理依赖的版本号,防止各项目对同一依赖声明多个版本,想切换到另一个版本时,只需要在父类容器里修改即可。

注意:

dependencyManagement 声明的依赖并没有被导入项目,必须在子项目再次声明才会真正导入jar包。

来源:https://www.cnblogs.com/silenceshining/p/14295807.html

标签:dependency,Management
0
投稿

猜你喜欢

  • java9新特性Collection集合类的增强与优化方法示例

    2023-01-29 05:16:57
  • Java 深入探讨设计模式之原型模式篇

    2023-11-16 17:37:59
  • Java String对象使用方法详解

    2023-12-14 14:43:52
  • springboot使用Logback把日志输出到控制台或输出到文件

    2022-05-30 17:34:30
  • Java动态获取实现某个接口下所有的实现类对象集合

    2023-04-01 14:43:20
  • BaseJDBC和CRUDDAO的写法实例代码

    2022-09-03 14:13:33
  • Android应用开发SharedPreferences存储数据的使用方法

    2023-06-23 16:02:47
  • java生成json数据示例

    2023-10-30 04:06:45
  • 深入分析Java内存区域的使用详解

    2023-09-25 23:21:29
  • 阿里开源Java诊断工具神器使用及场景详解

    2023-11-06 17:24:21
  • 详解如何将JAVA程序制作成可以直接执行的exe文件

    2023-11-23 21:12:40
  • 详解C++ STL模拟实现forward_list

    2023-06-21 02:36:04
  • C++实现LeetCode(159.最多有两个不同字符的最长子串)

    2023-06-20 22:39:46
  • Spring JPA学习之delete方法示例详解

    2021-11-23 12:22:55
  • Java中List.of()和Arrays.asList()的区别及原因分析

    2023-08-06 00:33:16
  • spring cloud将spring boot服务注册到Eureka Server上的方法

    2023-12-08 19:42:09
  • Java定义泛型方法实例分析

    2023-11-20 20:28:22
  • Unity实现攻击范围检测并绘制检测区域

    2023-09-18 21:59:10
  • ShardingSphere jdbc集成多数据源的实现步骤

    2023-11-25 07:54:56
  • 10道springboot常见面试题

    2023-09-02 03:02:22
  • asp之家 软件编程 m.aspxhome.com