maven依賴版本沖突如何處理
maven依賴版本沖突處理
maven依賴版本沖突一般是由于間接依賴導(dǎo)致一個jar包有多個不同的版本,
比如:A依賴了B的1.0版本,C依賴了B的2.0版本,項目依賴A和C從而間接依賴了B的1.0和2.0版本,此時B有兩個版本引入到了項目中,當(dāng)存在版本沖突時可能會出現(xiàn)ClassNotFoundException、NoSuchMethodError等錯誤。
處理版本沖突可以使用以下方法:
方法1 : 使用 exclusions 排除依賴
比如:我們只依賴B的1.0版本,此時可以在依賴C時排除對B的依賴
<!-- 排除 Spring Boot 依賴的日志包沖突 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>方法2 : 使用 dependencyManagement 鎖定版本號
通常在父工程對依賴的版本統(tǒng)一管理。
比如:我們只依賴B的1.0版本,此時可以在父工程中限定B的版本為1.0.
<packaging>pom</packaging>
<properties>
<spring-cloud.version>Hoxton.SR9</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring AOP 支持哪兩種動態(tài)代理方式(最新推薦)
動態(tài)代理在運(yùn)行時創(chuàng)建目標(biāo)對象的增強(qiáng)代理,Spring AOP支持JDK代理(基于接口)和CGLIB代理(基于繼承),Spring Boot默認(rèn)使用CGLIB解決方法自調(diào)用問題,也可通過配置切換代理方式,本文給大家介紹Spring AOP支持哪兩種動態(tài)代理方式,感興趣的朋友一起看看吧2025-06-06
IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟(圖文)
本文主要介紹了IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
idea install 時提示jdk的某個jar包的包不存在的問題
這篇文章主要介紹了idea install 時提示jdk的某個jar包的包不存在的問題,本文給大家分享解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
Spring事務(wù)中@Transactional注解不生效的原因分析與解決
在Spring框架中,@Transactional注解是管理數(shù)據(jù)庫事務(wù)的核心方式,本文將深入分析事務(wù)自調(diào)用的底層原理,解釋為什么事務(wù)不生效,并提供多種解決方案,希望對大家有所幫助2025-03-03
詳解spring boot實現(xiàn)多數(shù)據(jù)源代碼實戰(zhàn)
本篇文章主要介紹了詳解spring boot實現(xiàn)多數(shù)據(jù)源代碼實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
SpringBoot使用Apache?POI實現(xiàn)導(dǎo)出Word和PPT的完整代碼
POI-TL(POI?Template?Language)是一個基于Apache?POI的Word模板引擎,這篇文章主要介紹了SpringBoot如何使用Apache?POI實現(xiàn)導(dǎo)出Word和PPT,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-03-03

