2017-06-30 349 views
0

我在執行測試期間試圖編譯我的maven項目時遇到了這個錯誤。根據我的理解,在瘋狂的谷歌搜索量之後,這是因爲類路徑中jackson-core的一些衝突版本。

以下是我的依賴層次找到

enter image description here

我不知道如何從這裏出發,因爲只有一個版本似乎是在有效解決依賴條件

如果我跳過測試並運行安裝構建成功,但在運行時運行測試或啓動服務器失敗

如果我導航存儲庫,則看到以下版本

2.1.1 2.1.2 2.3.3 2.4.3 2.5.1 2.5.3 2.8.2 

我應該刪除它們嗎?

這是一個多模塊項目,每個模塊都會帶來一些這種依賴關係的版本。這很重要嗎?

回答

0

您將在所有這些項目中引入多個版本的jackson依賴項。傑克遜的設計不是爲了能夠在各個版本之間進行混合和匹配。

您應該在Parent POM級別定義依賴關係管理來管理在您自己的項目中使用的jackson工件版本。

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Management

取決於如果你有機會到使用自己版本的傑克遜,你可能需要添加排除規則來使用他們的傑克遜版本停止Maven的這些罐子。

https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

我猜的衝突將是coreannotation版本在使用中產生的,而是現實的,你將有與其他傑克遜文物是在不同的版本,如jaxb-annotationsdatabind等問題

+0

謝謝,經過很多嘗試,我可以通過在pom.xml中顯式添加最大版本的數據綁定和註釋來解決這個問題 –

相關問題