5.Maven依赖传递

maven依赖传递

        依赖传递:分为①jar包依赖传递   ②scope范围依赖传递

       上图解析:上图是一种相对比较好的工程架构图。即:一个工程包括report-data,report-dao,report-charts,report0-web,common-lib五个模块,每个模块都有自己单独的子pom;图中srpingmvc即代表父pom。结构就是:①common-lib模块继承自springmvc父pom②data,dao,cahrts模块依赖common-lib模块   ③web模块依赖data,dao,charts模块

    ①jar包依赖传递(待补充)

      如上图,web模块依赖dao模块,dao模块依赖common-lib模块,那么common-lib模块pom中所有的jar包,web模块也是能够使用的,这就是所谓的依赖传递。和Java中的继承关系类似,就是一层一层之间的继承

       使用场景:设计pom依赖关系的时候。如果目前Spring需要由4.0升级到5.0,那么如果有设计一个很好的父pom,则只需要在父pom中修改即可。下层的具体模块只需要继承父pom即可,而不需要关注自己是不是也需要升级Spring。(此处就会用到父pom中的dependencyManagement标签,然后子pom使用则不需要提供版本号)。每个公司父pom不一样,有公司级别、部门级别的父pom,作为架构师,首先就应该设计一个好的父pom。

    ②scope范围依赖关系

       第一列表示直接依赖的scope,第一行表示间接依赖的scope(遇到几率不大,知道就好,用到时可做深入研究)

 

compile

test

provided

runtime

compile

compile

-

-

runtime

test

test

-

-

test

provided

provided

-

provided

provided

runtime

runtime

-

-

runtime


版权声明:本文为lzb348110175原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。