<dependencyManagement>的作用

1.简介

dependencyManagement是一个 Maven 项目中的元素,它的作用是集中管理项目的依赖版本

2.为什么要使用dependencyManagement?

在 Maven 中,项目的依赖管理可以在 `元素中配置,但是这些依赖的版本可能会在多个子模块中重复配置,导致维护困难。dependencyManagement`元素的出现就是为了解决这个问题。

3.使用dependencyManagement的好处

使用 `dependencyManagement` 元素,你可以在 Maven 项目的顶层父模块中声明依赖及其对应的版本号,而这些依赖的具体声明则放在各个子模块中。这样一来,子模块无需指定版本号,而是继承自父模块的依赖管理。

4.dependencyManagement的作用

1. 集中管理依赖版本:通过在父模块中声明依赖及版本,可以避免子模块中重复声明相同的版本,简化了配置和维护过程。

2. 强制统一依赖版本:所有依赖的版本由父模块统一管理,可以确保项目中各个模块使用相同的版本,减少潜在的冲突和兼容性问题。

3. 管理依赖的传递性:`dependencyManagement` 中声明的依赖可以自动传递给子模块,无需在每个子模块中显式声明。

5.示例

下面是一个父项目的pom文件,这里拿出来给大家做个示例

依赖部分内容


        
            
            
                com.alibaba
                fastjson
                ${fastjson.version}
            
            
            
                cn.hutool
                hutool-all
                ${hutool.version}
            
            
            
                eu.bitwalker
                UserAgentUtils
                ${bitwalker.version}
            

            
            
                com.github.tobato
                fastdfs-client
                ${fastdfs.version}
            

            
            
                org.apache.dubbo
                dubbo-spring-boot-starter
                ${dubbo.version}
            
            
            
                org.apache.dubbo
                dubbo-dependencies-zookeeper
                ${dubbo.version}
                pom
                
                    
                        org.slf4j
                        slf4j-log4j12
                    
                
            

            
            
                org.apache.shiro
                shiro-spring-boot-starter
                ${shiro-boot.version}
            
            
            
                org.crazycake
                shiro-redis
                ${shiro-redis.version}
            

            
            
                com.baomidou
                mybatis-plus-boot-starter
                ${mybatis-plus.version}
            
        
    

所有内容



    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.6.RELEASE
        
    

    4.0.0

    jkw.life
    java-medical
    1.0-SNAPSHOT
    pom
    分布式医疗管理系统

    
        medical-config
        medical-commons
        medical-doctor
        medical-erp
        medical-sms
        medical-statistics
        medical-system
    

    
    
        1.8

        1.2.62
        5.1.1
        1.19

        3.3.1.tmp
        1.5.3
        3.2.3

        1.26.7
        2.7.5
    


    
        
            
            
                com.alibaba
                fastjson
                ${fastjson.version}
            
            
            
                cn.hutool
                hutool-all
                ${hutool.version}
            
            
            
                eu.bitwalker
                UserAgentUtils
                ${bitwalker.version}
            

            
            
                com.github.tobato
                fastdfs-client
                ${fastdfs.version}
            

            
            
                org.apache.dubbo
                dubbo-spring-boot-starter
                ${dubbo.version}
            
            
            
                org.apache.dubbo
                dubbo-dependencies-zookeeper
                ${dubbo.version}
                pom
                
                    
                        org.slf4j
                        slf4j-log4j12
                    
                
            

            
            
                org.apache.shiro
                shiro-spring-boot-starter
                ${shiro-boot.version}
            
            
            
                org.crazycake
                shiro-redis
                ${shiro-redis.version}
            

            
            
                com.baomidou
                mybatis-plus-boot-starter
                ${mybatis-plus.version}
            
        
    



你可能感兴趣的:(java,java,开发语言)