0
我有一個maven項目在日食與m2e插件。依賴層次結構顯示它省略了Spring 3.2.3,取代了3.0.0.RELEASE,如下所示。否則如何去做?它是否應該不遺漏舊版本並保留最新版本?Maven包括老版本的彈簧
我有一個maven項目在日食與m2e插件。依賴層次結構顯示它省略了Spring 3.2.3,取代了3.0.0.RELEASE,如下所示。否則如何去做?它是否應該不遺漏舊版本並保留最新版本?Maven包括老版本的彈簧
Maven的作品上的nearest wins strategy
原則,同時解決依賴衝突,這意味着無論哪個版本,它發現樹越近,它會採取並忽略其他版本。
你的情況時,你可以運行 -
mvn dependency:tree -Dverbose -Dincludes=spring-aop
你會發現,在樹狀分層結構3.0.0版本較早進來的比較3.2.3版本,所以這就是爲什麼它正在3.0版本.0版本用於解決依賴關係。
解決方案:作爲這些類型的問題的推薦解決方案是在您的父pom.xml文件中具有適當的依賴關係管理。像你的情況,你可以有一些LIK E本:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.2.3</version>
</dependency>
<dependencies>
</dependencyManagement>
現在不管什麼時候Maven的嘗試解決版本spring-aop
,它將始終諮詢依賴管理,並且將使用dependencyManagement
下定義的版本。
欲瞭解更多,你可以在這裏我的博客:how maven resolves dependency conflicts