首页 > 技术专区 > Maven > Maven相关特性 屏幕太窄?试试伸展一下吧 >

Maven相关特性

1. 传递依赖与排除依赖

传递依赖:如果我们的项目引用了一个jar包,而该jar包又引用了其他jar包。那么,在默认情况下,项目编译时, Maven会把直接引用和间接引用的jar包都下载到本地( ~/.m2/repository )。

排除依赖:如果我们只想下载直接引用的jar包,那么需要在pom.xml中做如下配置(给出需要排除的坐标)。

image.png


2. 依赖冲突 

若项目中多个jar同时弓|用了相同的jar时,会产生依赖冲突,但Maven采用了两种避免冲突的策略,因此在Maven中是不存在依赖冲突的。

1. 短路优先

    本项目-> A.jar-> B.jar -> X.jar本项目-> C.jar-> X.jar

2. 声明优先

    若引用路径长度相同时,在pom.xml中谁先被声明,就使用谁。

3. 多模块项目/聚合

image.png

image.png