1.0 .0 version > com. conflict . group conflict -artifact 3、 指定依賴版本 如果項目依" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Maven依賴沖突的幾種常用方法

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-09-30 11:11 ? 次閱讀

Maven依賴沖突是一個很常見的問題,它通常發(fā)生在項目中有多個依賴包含相同庫的不同版本時。我這邊解決Maven依賴沖突的幾種常用方法如下:

1、顯示依賴樹

首先,使用以下命令查看項目的依賴樹,以確定哪些依賴導(dǎo)致了沖突:

mvn dependency:tree

圖片

2、排除依賴

知道了有哪些依賴導(dǎo)致沖突,那么在pom.xml中,我們就可以使用標(biāo)簽來排除不需要的依賴。

< dependency >
     < groupId >com.some.group< /groupId >
     < artifactId >some-artifact< /artifactId >
     < version >1.0.0< /version >
     < exclusions >
         < exclusion >
             < groupId >com.conflict.group< /groupId >
             < artifactId >conflict-artifact< /artifactId >
         < /exclusion >
     < /exclusions >
 < /dependency >

3、指定依賴版本

如果項目依賴多個版本的同一個庫,Maven默認(rèn)會使用最高版本。但是你也可以明確指定需要的版本。

< dependency >
     < groupId >com.some.group< /groupId >
     < artifactId >some-artifact< /artifactId >
     < version >1.0.0< /version >
 < /dependency >

4、使用

在多模塊項目中,你可以在父POM中使用來統(tǒng)一管理所有子模塊的依賴版本。

< dependencyManagement >
     < dependencies >
         < dependency >
             < groupId >com.some.group< /groupId >
             < artifactId >some-artifact< /artifactId >
             < version >1.0.0< /version >
         < /dependency >
     < /dependencies >
 < /dependencyManagement >

子模塊只需要聲明需要用到的依賴,不需要指定版本。

5、使用properties來管理版本

還可以使用Maven的properties元素來更簡單地管理依賴版本。

< properties >
     < some-artifact.version >1.0.0< /some-artifact.version >
 < /properties >
 
 < dependencies >
     < dependency >
         < groupId >com.some.group< /groupId >
         < artifactId >some-artifact< /artifactId >
         < version >${some-artifact.version}< /version >
     < /dependency >
 < /dependencies >

6、強(qiáng)制使用某個版本

在極端情況下,可以通過中的同時使用,來強(qiáng)制Maven使用特定版本的依賴。

7、解決插件沖突

依賴沖突不僅僅可能出現(xiàn)在項目的庫依賴中,還可能出現(xiàn)在插件依賴中。確保插件的版本也沒有沖突。

8、重新構(gòu)建和測試

解決沖突后,不要忘記運(yùn)行mvn clean install來重新構(gòu)建項目,并執(zhí)行全面的測試以確保沒有破壞任何功能。

注意:解決依賴沖突可能會引入運(yùn)行時錯誤,因此在修改依賴后務(wù)必進(jìn)行全面的測試。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2783

    瀏覽量

    49638
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    730

    瀏覽量

    22678
  • maven
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    3852
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    怎么解決依賴關(guān)系中vi沖突?

    沖突項是Error Cluster From Error Code.vi。如果不在依賴關(guān)系中可以放進(jìn)項目庫中來解決同名沖突。在依賴關(guān)系中怎么解決?大神指教
    發(fā)表于 09-25 21:14

    Linux下的Maven安裝方法

    關(guān)鍵步驟如下: 1. 下載Maven包. 2. 解壓Maven包. 3.配置Maven系統(tǒng)參數(shù),驗證Maven是否正確安裝.
    發(fā)表于 07-23 08:01

    常用幾種接地方法?

    簡單列舉幾種常用的接地方法
    發(fā)表于 03-29 08:20

    幾種常用的測量角度速度的方法原理是什么?

    幾種常用的測量角度速度的方法原理是什么?三輪車可以用編碼器測速嗎?還是只能用光電編碼盤?
    發(fā)表于 10-19 09:44

    調(diào)試嵌入式處理器的幾種常用方法

    調(diào)試嵌入式處理器的幾種常用方法 前言 在任何產(chǎn)品
    發(fā)表于 03-11 12:25 ?1710次閱讀
    調(diào)試嵌入式處理器的<b class='flag-5'>幾種</b><b class='flag-5'>常用</b><b class='flag-5'>方法</b>

    常用幾種管道檢測方法

    常用幾種管道檢測方法  管道運(yùn)輸是石油、天然氣運(yùn)輸采用的主要方式。目前,在我國近70%的原油、100%的天然氣是通過管道來進(jìn)行運(yùn)輸
    發(fā)表于 03-20 11:50 ?1.1w次閱讀

    幾種分析電路的常用方法

    幾種分析電路的常用方法,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 17:15 ?0次下載

    常用幾種無損探傷儀檢測方法介紹

    常用幾種無損探傷儀檢測方法介紹
    發(fā)表于 02-07 16:15 ?14次下載

    單片機(jī)程序常用幾種調(diào)試方法

    單片機(jī)程序常用幾種調(diào)試方法,這些調(diào)試方法都需要結(jié)合電腦上位機(jī),以下我羅列一些調(diào)試方法
    發(fā)表于 07-17 09:31 ?1.3w次閱讀

    分析對比幾種常用軸修復(fù)方法

    分析對比幾種常用軸修復(fù)方法
    發(fā)表于 12-02 11:05 ?1次下載

    如何理解Maven拉包原理,搞定Maven構(gòu)建項目

    依賴是我們在使用 Maven 構(gòu)建項目時最常使用的功能,通過依賴標(biāo)簽,我們可以直接從Maven倉庫中引入對應(yīng)的Jar包,無需手動再將Jar添加到目錄下了,可謂是十分方便,不過我們除了使
    發(fā)表于 05-25 09:50 ?781次閱讀
    如何理解<b class='flag-5'>Maven</b>拉包原理,搞定<b class='flag-5'>Maven</b>構(gòu)建項目

    如何使用Maven命令檢測重復(fù)的依賴關(guān)系

    在我們平時的開發(fā)過程中,常常會遇到引入各種不同的 jar 包,然后引發(fā)的 Maven 依賴沖突,今天我們來學(xué)習(xí)下如何使用 Maven 命令檢測 pom.xml 中的重復(fù)
    的頭像 發(fā)表于 10-07 16:36 ?1250次閱讀

    幾種常用的產(chǎn)生負(fù)電源的方法

    幾種常用的產(chǎn)生負(fù)電源的方法
    的頭像 發(fā)表于 12-05 15:54 ?1913次閱讀
    <b class='flag-5'>幾種</b><b class='flag-5'>常用</b>的產(chǎn)生負(fù)電源的<b class='flag-5'>方法</b>

    idea如何添加maven

    Maven是一個開源的項目管理工具,它提供了一種簡單的方式來管理項目的依賴關(guān)系、構(gòu)建過程和發(fā)布部署。本文將詳細(xì)介紹如何將Maven添加到你的項目中,并使用它來管理你的項目。 第一步:安裝Mav
    的頭像 發(fā)表于 12-06 14:56 ?1491次閱讀

    實際上手體驗maven面對沖突Jar包的加載規(guī)則

    的Jar包來實現(xiàn)功能開發(fā),各種第三方包之間可能會存在依賴關(guān)系,不同版本的依賴就會可能導(dǎo)致依賴間的相互沖突,進(jìn)而導(dǎo)致整個項目加載的失敗。 這篇文章主要記錄了本次遇到的問題:即
    的頭像 發(fā)表于 08-08 11:22 ?490次閱讀
    實際上手體驗<b class='flag-5'>maven</b>面對<b class='flag-5'>沖突</b>Jar包的加載規(guī)則

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品