欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven jar包沖突的解決方案

 更新時(shí)間:2020年04月17日 11:05:41   作者:經(jīng)典雞翅  
這篇文章主要介紹了Maven jar包沖突的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

現(xiàn)象

創(chuàng)建一個(gè)maven工程,引入spring-context包。

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>

此時(shí)看左側(cè)的lib,我們發(fā)現(xiàn)引入了一個(gè)坐標(biāo),多出了很多的jar包,這個(gè)現(xiàn)象叫做依賴傳遞,就是說(shuō),當(dāng)前坐標(biāo)所依賴的jar包也會(huì)一同引入進(jìn)來(lái),這里的版本都是5.0.8的。


接下來(lái),我們?cè)僖胍粋€(gè)springmvc。我們換一個(gè)版本,我們引入4.2.4版本

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>

我們通過(guò)idea給的maven分析圖可以看出,mvc和context都依賴與sprng-core一個(gè),依賴的是5.0.8版本,一個(gè)依賴的是4.2.4版本。


那么真正加載的是哪個(gè)版本呢。是5.0.8版本。


此時(shí)就是存在了jar包的沖突問(wèn)題,那么我們解決這個(gè)問(wèn)題,有三種方式。

聲明優(yōu)先原則

此時(shí)我們的pom文件中是先聲明的5.0.8版本,后聲明的4.2.4版本,我們將其調(diào)換順序。



此時(shí)我們發(fā)現(xiàn)他們共同依賴的jar包,都變成了4.2.4版本,這就是聲明優(yōu)先原則。

就近優(yōu)先原則

比如,我們不想調(diào)換順序,我們就是想使用4.2.4版本的spring-core。我們可以單獨(dú)引入進(jìn)來(lái)


此時(shí)再看,我們發(fā)現(xiàn)依賴的spring-core已經(jīng)變成了4.2.4版本了。


這個(gè)就是就近優(yōu)先原則,就近優(yōu)先是直接依賴,直接依賴的優(yōu)先級(jí)大于傳遞依賴的優(yōu)先級(jí)。

排除依賴

這種方式我們可以直接排除spring-context中的spring-core的傳遞依賴。


再看依賴,此時(shí)已經(jīng)改為4.2.4.


使用exclusions標(biāo)簽的時(shí)候,其內(nèi)部不用寫版本號(hào),這是唯一不用寫版本號(hào)的一種情況。因?yàn)樗J(rèn)就去找當(dāng)前依賴的版本了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Javascript判斷Crontab表達(dá)式是否合法

    詳解Javascript判斷Crontab表達(dá)式是否合法

    這篇文章主要介紹了詳解Javascript判斷Crontab表達(dá)式是否合法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 使用MyBatis的動(dòng)態(tài)SQL注解實(shí)現(xiàn)實(shí)體的CRUD操作代碼

    使用MyBatis的動(dòng)態(tài)SQL注解實(shí)現(xiàn)實(shí)體的CRUD操作代碼

    在使用MyBatis進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),動(dòng)態(tài)SQL注解提供了一種優(yōu)雅的方式來(lái)編寫動(dòng)態(tài)SQL語(yǔ)句,MyBatis?3.x?版本提供了下四個(gè)CRUD的高級(jí)注解,這些注解可以幫助開發(fā)者在Mapper接口中動(dòng)態(tài)地構(gòu)建SQL語(yǔ)句,本文給大家介紹了使用MyBatis的動(dòng)態(tài)SQL注解實(shí)現(xiàn)實(shí)體的CRUD操作
    2024-06-06
  • Java排序算法中的冒泡排序算法實(shí)現(xiàn)

    Java排序算法中的冒泡排序算法實(shí)現(xiàn)

    這篇文章主要介紹了Java排序算法中的冒泡排序算法實(shí)現(xiàn),冒泡排序只會(huì)操作相鄰的兩個(gè)數(shù)據(jù),每次冒泡操作都會(huì)對(duì)相鄰的兩個(gè)元素進(jìn)行比較,看是否滿足大小關(guān)系要求,如果不滿足就讓它倆互換,需要的朋友可以參考下
    2023-12-12
  • Java面試題沖刺第二十一天--JVM

    Java面試題沖刺第二十一天--JVM

    這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于JVM的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java中Flux類的使用方法和示例代碼

    Java中Flux類的使用方法和示例代碼

    在Java編程中Flux是一種處理響應(yīng)式編程的庫(kù),它提供了一種異步數(shù)據(jù)流處理的方式,這篇文章主要給大家介紹了關(guān)于Java中Flux類的使用方法和示例代碼,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • Spring中的事務(wù)攔截器順序如何控制詳解

    Spring中的事務(wù)攔截器順序如何控制詳解

    這篇文章主要介紹了Spring中的事務(wù)攔截器順序如何控制詳解,那么spring事務(wù)攔截器的順序如何控制呢,若我們自己也添加了一些攔截器,此時(shí)事務(wù)攔截器和自定義攔截器共存的時(shí)候,他們的順序是怎么執(zhí)行的?如何手動(dòng)來(lái)控制他們的順序,需要的朋友可以參考下
    2024-01-01
  • Java使用poi獲取不到docx表格中書簽的問(wèn)題及解決

    Java使用poi獲取不到docx表格中書簽的問(wèn)題及解決

    這篇文章主要介紹了Java使用poi獲取不到docx表格中書簽的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 基于mybatis?plus實(shí)現(xiàn)數(shù)據(jù)源動(dòng)態(tài)添加、刪除、切換,自定義數(shù)據(jù)源的示例代碼

    基于mybatis?plus實(shí)現(xiàn)數(shù)據(jù)源動(dòng)態(tài)添加、刪除、切換,自定義數(shù)據(jù)源的示例代碼

    這篇文章主要介紹了基于mybatis?plus實(shí)現(xiàn)數(shù)據(jù)源動(dòng)態(tài)添加、刪除、切換,自定義數(shù)據(jù)源,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • IDEA插件推薦之Maven-Helper的教程圖解

    IDEA插件推薦之Maven-Helper的教程圖解

    這篇文章主要介紹了IDEA插件推薦之Maven-Helper的相關(guān)知識(shí),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考
    2020-07-07
  • java使用compareTo實(shí)現(xiàn)一個(gè)類的對(duì)象之間比較大小操作

    java使用compareTo實(shí)現(xiàn)一個(gè)類的對(duì)象之間比較大小操作

    這篇文章主要介紹了java使用compareTo實(shí)現(xiàn)一個(gè)類的對(duì)象之間比較大小操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論