如何解決Mavenjar包沖突

這篇文章主要講解了如何解決Maven jar包沖突,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

成都創(chuàng)新互聯是一家集網站建設,西夏企業(yè)網站建設,西夏品牌網站建設,網站定制,西夏網站建設報價,網絡營銷,網絡優(yōu)化,西夏網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。

現象

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

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

此時看左側的lib,我們發(fā)現引入了一個坐標,多出了很多的jar包,這個現象叫做依賴傳遞,就是說,當前坐標所依賴的jar包也會一同引入進來,這里的版本都是5.0.8的。

如何解決Maven jar包沖突

接下來,我們再引入一個springmvc。我們換一個版本,我們引入4.2.4版本

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

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

如何解決Maven jar包沖突

那么真正加載的是哪個版本呢。是5.0.8版本。

如何解決Maven jar包沖突

此時就是存在了jar包的沖突問題,那么我們解決這個問題,有三種方式。

聲明優(yōu)先原則

此時我們的pom文件中是先聲明的5.0.8版本,后聲明的4.2.4版本,我們將其調換順序。

如何解決Maven jar包沖突
如何解決Maven jar包沖突

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

就近優(yōu)先原則

比如,我們不想調換順序,我們就是想使用4.2.4版本的spring-core。我們可以單獨引入進來

如何解決Maven jar包沖突

此時再看,我們發(fā)現依賴的spring-core已經變成了4.2.4版本了。

如何解決Maven jar包沖突

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

排除依賴

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

如何解決Maven jar包沖突

再看依賴,此時已經改為4.2.4.

如何解決Maven jar包沖突

使用exclusions標簽的時候,其內部不用寫版本號,這是唯一不用寫版本號的一種情況。因為他默認就去找當前依賴的版本了。

看完上述內容,是不是對如何解決Maven jar包沖突有進一步的了解,如果還想學習更多內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。

文章名稱:如何解決Mavenjar包沖突
網站網址:http://bm7419.com/article14/goccge.html

成都網站建設公司_創(chuàng)新互聯,為您提供全網營銷推廣、網站策劃、外貿建站網頁設計公司、搜索引擎優(yōu)化營銷型網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

小程序開發(fā)