Springboot pom項目間接依賴包版本與預(yù)期不符原因解決分析
問題
Sprintboot pom項目間接依賴的包的版本與預(yù)期不符,間接依賴的版本應(yīng)該為3.0.4,實際拿的卻是2.1.0
場景
sprintboot項目A 版本2.1.5.Release
kafka的封裝依賴包B,版本1.0.0,依賴于kafka版本3.0.4
項目A引入B后,kafka版本變成了2.1.0
原因
在pom.xml里定義了
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>相當(dāng)于引入了spring-boot-starter-parent.pom
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>相當(dāng)于引入了spring-boot-dependencies.pom
...
<properties>
...
<kafka.version>2.0.1</kafka.version>
...
</properties>
<dependencyManagement>
<dependencies>
...
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${kafka.version}</version>
</dependency>
...
</dependencies>
</dependencyManagement>查看sprint官網(wǎng) sprintboot對應(yīng)kafka-clients版本

間接依賴的包的版本優(yōu)先級沒有parent里聲明的高
解決方法
- 升級springboot版本到2.6.x以上
- pom.xml里指定kafka版本為3.0.4
以上就是Springboot pom項目間接依賴包版本與預(yù)期不符原因解決分析的詳細(xì)內(nèi)容,更多關(guān)于Springboot pom依賴包版本的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java中try-with-resources自動關(guān)閉資源的使用方法及注意事項
這篇文章主要介紹了Java中try-with-resources自動關(guān)閉資源的使用方法及注意事項,try-with-resources是Java?7引入的一種資源管理語法,用于自動關(guān)閉實現(xiàn)了AutoCloseable接口的資源,文中通過代碼將用法介紹的非常詳細(xì),需要的朋友可以參考下2025-05-05
Character.UnicodeBlock中cjk的說明詳解
這篇文章主要為大家詳細(xì)介紹了Character.UnicodeBlock中cjk的說明,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
MyBatisCodeHelperPro最新激活方法(有效方法)
這篇文章主要介紹了MyBatisCodeHelperPro最新激活方法親測有效,非常好用,小編今天以idea2021.2.1為例給大家詳細(xì)講解,需要的朋友可以參考下2022-08-08
詳解Java中用于查找對象哈希碼值的hashCode()函數(shù)
Java中入HashMap等一些鍵值對應(yīng)的結(jié)構(gòu),基本上都可以用hashCode()來查找值,接下來我們就來詳解Java中用于查找對象哈希碼值的hashCode()函數(shù):2016-05-05

