传递性依赖和依赖范围

依赖范围不仅可以控制依赖与三种classpath的关系,还对传递性依赖产生影响。

compile test provided runtime
compile compile - - runtime
test test - - test
provided provided - provided provided
runtime runtime - - runtime

仔细观察一下上表,我们可以发现这样的规律:

  • 当第二直接依赖的范围是compile的时候,传递性依赖与第一直接依赖的范围这致
  • 当第二直接依赖的范围是test的时候,依赖不会得以传递
  • 当第二直接依赖的范围是provided的时候,只传递第一直接依赖范围也是provided的依赖,且传递性依赖的范围同样为provided
  • 当第二直接依赖的范围是runtime的时候,传递性依赖的范围与第一直接依赖的范围一致,但compile例外,此时传递性依赖的范围为runtime

results matching ""

    No results matching ""