test provided 则不会依赖传递
显示红色实线的代表冲突。红色虚线,告诉你同一个jar都在哪里被多次引用了。
根据三方库导入顺序,自动优化jar包
自动优化原则有两条
第一声明者优先: 跟导入依赖的顺序有关,先导入的优先级更高
第二路径近者优先,路径指的是依赖关系图中的位置
三、排除依赖
此时有重复依赖,(重复不一定冲突,版本不同会冲突)
我们想排除jdbc包下的core依赖使用代码
<!--spring的jdbc包--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.12.RELEASE</version> <exclusions> <exclusion> <artifactId>spring-core</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency>
四、锁定版本
如果多个库,交叉导入了同一个库,意思就是多个相同依赖的版本不同,此时我们可以通过dependencyManagement锁定库的版本。
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.5.RELEASE</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <!--spring的jdbc包 此时导入被锁定的包,不需要写版本号,若写了就以就近原则下载 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> </dependencies>
五、提取版本号
选中版本,ctrl+alt+v,提取版本号,自动放入properties中