dependencies 和 dependencyManagement的区别

1.dependencies 和 dependencyManagement的区别

main : 项目中多个模块间公共依赖的版本号、scope的控制

业务场景:

当多模块项目中,如果每个模块都有一些公共的依赖,

  • 如果每个模块都独自管理的情况下,就有可能造成每个模块的版本号不一致的情况, 开发测试环境下对jar包不同版本的处理有可能不一致,造成运行和测试结果的不一致
  • 版本升级时,会到处修改版本号,不易

所以在多模块项目下需要一个公共的top module来管理这些公共项目依赖的区别

使用规则

  • 里 没有定义version的话,maven继承声明的version版本,如果dependencyManagement没有声明,报错
  • 里 定义version的话,覆盖父类的dependencyManagement声明
  • 父类的dependencyManagement 只是声明版本号和scope,不会引入,所以需要子类引入

example

parent-module


    1.1.1

    
 
        
            
                commons-logging
                commons-logging
                ${commons.logging.version}
                provided
            
        
    

son-mudule


    
        commons-logging
        commons-logging
    


你可能感兴趣的:(后端)