maven依赖排除、传递性

当我们通过maven引入A.jar时,会自动引入B.jar
A.jar(x.java ,y.java,z.java) B.jar(p.java c.java i.java)
A.jar和B.jar之间的 依赖的本质:z.java ->c.java

所以其他没有依赖的可以排除

注意:
如果我们配置依赖但是配置的依赖所依赖的jar包没有导入

虽然我们实际开发时,认为二者jar必须关联,但是maven可能不这么认为(不同的maven版本jar包之间有些你认为关联的,其实没有关联)。

建议用比较新版本的maven
如果X.jar 依赖于Y.jar,但是在引入X.jar之前 已经存在了Y.jar,则maven不会再在 引入X.jar时 引入Y.jar

下面举个例子:

 如果只需要配置依赖的jar包,又不需要该jar包所依赖的jar包可以用依赖排除

maven的依赖传递:

  A.jar->B.jar->C.jar

  要使 A.jar ->C.jar:当且仅当 B.jar 依赖于C.jar的范围是compile,如果B依赖于C的范围不是compile,那么A依赖不了C

猜你喜欢

转载自www.cnblogs.com/unlasting/p/12198477.html