1. 传递依赖与排除依赖
传递依赖:如果我们的项目引用了一个jar包,而该jar包又引用了其他jar包。那么,在默认情况下,项目编译时, Maven会把直接引用和间接引用的jar包都下载到本地( ~/.m2/repository )。
排除依赖:如果我们只想下载直接引用的jar包,那么需要在pom.xml中做如下配置(给出需要排除的坐标)。
2. 依赖冲突
若项目中多个jar同时弓|用了相同的jar时,会产生依赖冲突,但Maven采用了两种避免冲突的策略,因此在Maven中是不存在依赖冲突的。
1. 短路优先
本项目-> A.jar-> B.jar -> X.jar本项目-> C.jar-> X.jar
2. 声明优先
若引用路径长度相同时,在pom.xml中谁先被声明,就使用谁。