码迷,mamicode.com
首页 > 其他好文 > 详细

传递依赖的范围确定

时间:2020-07-09 22:13:12      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:text   子模块   bsp   idea   mpi   dep   run   context   mave   

传递依赖的确定

问题:如果A依赖B(A→B),B依赖C(B→C),那么A是否一定依赖C(A→C)? 如果A依赖C,A依赖C的范围是什么?是compile还是test还是provided还是runtime?下表是这个问题的答案:

 

技术图片

 

 

表1

 

根据上表,有:当A→B的范围是compile, B→C的范围是test,那么A不依赖于C。

这样理解:假设C就是 junit,即要使用 junit对B的功能进行单元测试(B→C),A要使用B提供的功能(A→B),但是A不一定要使用junit进行单元测试。

在IDEA中验证

  1. 创建模块m_parent和他的两个子模块m_child01, m_child02,m_child01依赖junit,servlet,spring-context,m_child02依赖m_child01
    技术图片 技术图片 技术图片 技术图片

  2. 查看依赖:通过Maven Projects窗口的Show Dependencies查看m_child01和m_child02的依赖
    技术图片

    • m_child01的依赖
      技术图片
    • m_child02的依赖
      技术图片
  3. 可以看到:

    • m_child01依赖junit,范围是test,m_child02依赖m_child01,范围是compile,得到m_child02不依赖junit,符合表1中第2行第5列的情况。
    • m_child01依赖servlet,范围是provided,m_child02依赖m_child01,范围是compile,得到m_child02不依赖servlet,符合表1中第2行第3列的情况。
    • m_child01依赖spring-context,范围是compile,m_child02依赖m_child01,范围是compile,得到m_child02依赖spring-context,且范围是compile,符合表1中第2行第2列的情况。

传递依赖的范围确定

标签:text   子模块   bsp   idea   mpi   dep   run   context   mave   

原文地址:https://www.cnblogs.com/wumingoo1/p/13276270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!