mvn中dependencyManagement的使用

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包。

 

posted @ 2021-01-18 23:34  一首简单的歌  阅读(1150)  评论(0编辑  收藏  举报