maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
scope范围
| 名称 | 有效范围 |
|---|---|
| Compile | 编译,测试,运行。默认的依赖范围 |
| Test | 测试,如Junit |
| Runtime | 运行,如JDBC |
| Provided | 编译,测试,如ServletAPI |
| System | 编译,测试,依赖于系统变量 |
依赖传递规则
级别一样,就先用第一个,级别不一样,就用级别最少的
如果在同一pom.xml文件中有2个相同的依赖;后面声明的会覆盖前面的依赖
当且仅当范围是compile可传递
如果是在不同pom.xml中有2个相同的依赖;则先声明的依赖,会覆盖后面声明的依赖
<optional>true</optional>去除依赖传递性,不会传递该包的依赖
去除引用包的依赖
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
maven-helper 排除冲突神器
本文深入解析Maven依赖的scope范围,包括compile、test、runtime、provided、system等,并阐述依赖传递规则,如何处理依赖冲突,以及使用maven-helper排除依赖冲突的方法。

3144

被折叠的 条评论
为什么被折叠?



