亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

maven解決依賴沖突的三種解決方法

 更新時(shí)間:2024年03月20日 14:35:15   作者:moutory  
依賴沖突是指項(xiàng)目依賴的某一個(gè)jar包,有多個(gè)不同的版本,因而造成了包版本沖突,本文主要介紹了maven解決依賴沖突的三種解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下

前言

隨著maven項(xiàng)目不斷推進(jìn),開發(fā)人員難免會(huì)遇到這樣一個(gè)問題,在添加新的依賴jar包后,會(huì)發(fā)現(xiàn)和原有的項(xiàng)目依賴產(chǎn)生沖突(多數(shù)情況是由于依賴傳遞引起的),這個(gè)時(shí)候就需要我們根據(jù)實(shí)際情況來選擇生效的最終依賴。

比如下圖:

下面將以上面的例子來對(duì)如何解決依賴沖突進(jìn)行講解

方法一:使用maven提供的傳遞依賴原則

(一)第一聲明者優(yōu)先原則

其實(shí)所謂第一聲明者,就是在pom文件中,優(yōu)先使用書寫順序排在前面的依賴包,也就是誰先聲明,就先用誰的依賴。
如果我們想在我們的項(xiàng)目中使用5.0.2版本的spring-bean包的話,只需要調(diào)整一下依賴的順序即可。

(二)路徑者優(yōu)先原則

路徑者優(yōu)先原則也很好理解,如果有兩個(gè)依賴版本沖突了,那么就顯式地在pom文件中把要使用的依賴添加上去。

這種方法雖然簡(jiǎn)單直接,但是只適合于項(xiàng)目依賴的jar包比較少的場(chǎng)景,一旦管理的依賴數(shù)量達(dá)到一定數(shù)量,簡(jiǎn)單的調(diào)整依賴的順序并不能解決實(shí)際沖突問題。
在實(shí)際開發(fā)中很少應(yīng)用到。

方法二:排除依賴(有時(shí)候會(huì)用到)

排除依賴的思路也很簡(jiǎn)單,如果有兩個(gè)依賴的版本發(fā)生了沖突,那么只要把其中一個(gè)依賴給排除掉,只剩下一個(gè)依賴,那么自然就可以解決沖突的問題。
我們只需要使用exclusion關(guān)鍵字對(duì)相關(guān)依賴進(jìn)行排除就行

方法三:版本鎖定(最常用,推薦使用)

對(duì)于版本沖突的問題,我們最常使用的解決方式,是使用dependencyManagement統(tǒng)一對(duì)依賴的版本進(jìn)行定義。這樣的話,導(dǎo)入依賴的時(shí)候就會(huì)直接使用我們鎖定的依賴版本。

這里要注意兩點(diǎn),版本鎖定和使用路徑優(yōu)先原則不同,使用路徑優(yōu)先原則,是實(shí)實(shí)在在地將jar包給引入到pom文件中,而版本鎖定只是規(guī)定了要使用的版本號(hào),只有真實(shí)用到了相關(guān)的依賴,才生效。同時(shí),版本鎖定可以更集中地約束和規(guī)定依賴版本,這種優(yōu)勢(shì)是其他方法所不能達(dá)到的。

當(dāng)然了,如果只是簡(jiǎn)單的小型項(xiàng)目,使用其他方式可能是更好的解決方法。

到此這篇關(guān)于maven解決依賴沖突的三種解決方法的文章就介紹到這了,更多相關(guān)maven依賴沖突解決內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis工具類JdbcTypeInterceptor運(yùn)行時(shí)自動(dòng)添加jdbcType屬性

    Mybatis工具類JdbcTypeInterceptor運(yùn)行時(shí)自動(dòng)添加jdbcType屬性

    今天小編就為大家分享一篇關(guān)于Mybatis工具類JdbcTypeInterceptor運(yùn)行時(shí)自動(dòng)添加jdbcType屬性,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Gradle進(jìn)階使用結(jié)合Sonarqube進(jìn)行代碼審查的方法

    Gradle進(jìn)階使用結(jié)合Sonarqube進(jìn)行代碼審查的方法

    今天小編就為大家分享一篇關(guān)于Gradle進(jìn)階使用結(jié)合Sonarqube進(jìn)行代碼審查的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • java二路歸并排序示例分享

    java二路歸并排序示例分享

    這篇文章主要介紹了java二路歸并排序示例,需要的朋友可以參考下
    2014-02-02
  • java統(tǒng)計(jì)漢字字?jǐn)?shù)的方法示例

    java統(tǒng)計(jì)漢字字?jǐn)?shù)的方法示例

    這篇文章主要介紹了java統(tǒng)計(jì)漢字字?jǐn)?shù)的方法,結(jié)合實(shí)例形式分析了java正則判定、字符串遍歷及統(tǒng)計(jì)相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變問題小結(jié)

    SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變問題小結(jié)

    spring.factories其實(shí)是SpringBoot提供的SPI機(jī)制,底層實(shí)現(xiàn)是基于SpringFactoriesLoader檢索ClassLoader中所有jar引入的META-INF/spring.factories文件,這篇文章主要介紹了SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變,需要的朋友可以參考下
    2023-05-05
  • SpringBoot實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)的示例代碼

    SpringBoot實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)的示例代碼

    在SpringBoot項(xiàng)目中簡(jiǎn)單使用定時(shí)任務(wù),不過由于要借助cron表達(dá)式且都提前定義好放在配置文件里,不能在項(xiàng)目運(yùn)行中動(dòng)態(tài)修改任務(wù)執(zhí)行時(shí)間,實(shí)在不太靈活。現(xiàn)在我們就來實(shí)現(xiàn)可以動(dòng)態(tài)修改cron表達(dá)式的定時(shí)任務(wù),感興趣的可以了解一下
    2022-10-10
  • 用java實(shí)現(xiàn)掃雷游戲

    用java實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了用java實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java使用Request獲取請(qǐng)求參數(shù)的通用方式詳解

    Java使用Request獲取請(qǐng)求參數(shù)的通用方式詳解

    這篇文章主要給大家介紹了關(guān)于Java使用Request獲取請(qǐng)求參數(shù)的通用方式,在Java后端開發(fā)中第一步就是獲取前端傳過來的請(qǐng)求參數(shù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • SpringBoot基于Mybatis-Plus自動(dòng)代碼生成

    SpringBoot基于Mybatis-Plus自動(dòng)代碼生成

    這篇文章主要介紹了SpringBoot基于Mybatis-Plus自動(dòng)代碼生成,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java 對(duì)稱加密算法實(shí)現(xiàn)詳解

    java 對(duì)稱加密算法實(shí)現(xiàn)詳解

    這篇文章主要介紹了java 對(duì)稱加密算法實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論