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中