第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何配置maven pom文件來(lái)解決jar包沖突

如何配置maven pom文件來(lái)解決jar包沖突

偶然的你 2019-03-07 10:06:24
如何配置maven pom文件來(lái)解決jar包沖突
查看完整描述

2 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

maven3在解決依賴(lài)沖突采用就近原則,在就近原則不能做出判斷的情況下依據(jù)pom.xml的聲明的先后順序決定導(dǎo)入的jar。
jar包沖突多為傳遞性依賴(lài)的管理不當(dāng)給項(xiàng)目帶來(lái)的麻煩解決思路羅列如下:
1、首先查看當(dāng)前項(xiàng)目的jar關(guān)系如果使用eclipse、idea等編輯器可打開(kāi)pom.xml文檔底部有Dependency Hierarchy可供查看jar的依賴(lài)情況。第二種使用maven插件的方式使用命令行:


mvn dependency:tree

結(jié)果中重要的是兩個(gè)部分,首先是Used undeclared dependencies意值項(xiàng)目中使用到的,但是沒(méi)有顯示聲明的依賴(lài)。這種依賴(lài)意味著潛在的風(fēng)險(xiǎn)。他是通過(guò)其他直接依賴(lài)導(dǎo)入的傳遞性依賴(lài),當(dāng)直接依賴(lài)升級(jí)時(shí)相關(guān)依賴(lài)的版本也會(huì)變化??赡軐?dǎo)致當(dāng)前項(xiàng)目報(bào)錯(cuò),且不易察覺(jué)。另一個(gè)部分是Unused declared dependencies意指項(xiàng)目中未使用的,但顯式聲明的依賴(lài)。需要注意的是我們不應(yīng)該直接刪除了事而是應(yīng)該仔細(xì)分析。因?yàn)檫@個(gè)命令行發(fā)現(xiàn)不了執(zhí)行測(cè)試和運(yùn)行時(shí)需要的依賴(lài)。
以上方法都可可完整的查看當(dāng)前項(xiàng)目的jar情況,個(gè)人更喜歡使用命令行。

2、通過(guò)以上方法我們可以看到項(xiàng)目中引用jar版本號(hào);接下來(lái)就是如何排除掉我們不想要版本的jar;語(yǔ)法如下:

<dependency>
<groupId>.....</grooupId>
<artifactId>....</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>.....</groupId>
<artifactId>.....</artifactId>
</exclusion>
</exclesions>
<dependency>
<!--exclusions可包含一個(gè)或多個(gè)exclusion元素-->

3、一下規(guī)避jar沖突的思路,如果項(xiàng)目中有直接用到某個(gè)jar而這個(gè)jar已通過(guò)傳遞依賴(lài)的方式引入到maven項(xiàng)目里了。最好排除這個(gè)傳遞依賴(lài)在pom里面明確的聲明這個(gè)依賴(lài)。歸類(lèi)依賴(lài),不斷的優(yōu)化依賴(lài)如,去除多余的依賴(lài)。



查看完整回答
反對(duì) 回復(fù) 2019-03-16
?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

maven3在解決依賴(lài)沖突采用就近原則,在就近原則不能做出判斷的情況下依據(jù)pom.xml的聲明的先后順序決定導(dǎo)入的jar。

jar包沖突多為傳遞性依賴(lài)的管理不當(dāng)給項(xiàng)目帶來(lái)的麻煩解決思路羅列如下:

1、首先查看當(dāng)前項(xiàng)目的jar關(guān)系如果使用eclipse、idea等編輯器可打開(kāi)pom.xml文檔底部有Dependency Hierarchy可供查看jar的依賴(lài)情況。第二種使用maven插件的方式使用命令行:

1

mvn dependency:tree

結(jié)果中重要的是兩個(gè)部分,首先是Used undeclared dependencies意值項(xiàng)目中使用到的,但是沒(méi)有顯示聲明的依賴(lài)。這種依賴(lài)意味著潛在的風(fēng)險(xiǎn)。他是通過(guò)其他直接依賴(lài)導(dǎo)入的傳遞性依賴(lài),當(dāng)直接依賴(lài)升級(jí)時(shí)相關(guān)依賴(lài)的版本也會(huì)變化。可能導(dǎo)致當(dāng)前項(xiàng)目報(bào)錯(cuò),且不易察覺(jué)。另一個(gè)部分是Unused declared dependencies意指項(xiàng)目中未使用的,但顯式聲明的依賴(lài)。需要注意的是我們不應(yīng)該直接刪除了事而是應(yīng)該仔細(xì)分析。因?yàn)檫@個(gè)命令行發(fā)現(xiàn)不了執(zhí)行測(cè)試和運(yùn)行時(shí)需要的依賴(lài)。

以上方法都可可完整的查看當(dāng)前項(xiàng)目的jar情況,個(gè)人更喜歡使用命令行。

2、通過(guò)以上方法我們可以看到項(xiàng)目中引用jar版本號(hào);接下來(lái)就是如何排除掉我們不想要版本的jar;語(yǔ)法如下:

1

2

3

4

5

6

7

8

9

10

11

12

<dependency>

    <groupId>.....</grooupId>

    <artifactId>....</artifactId>

    <version>...</version>

    <exclusions>

        <exclusion>

            <groupId>.....</groupId>

            <artifactId>.....</artifactId>

        </exclusion>

    </exclesions>

<dependency>

<!--exclusions可包含一個(gè)或多個(gè)exclusion元素-->

3、一下規(guī)避jar沖突的思路,如果項(xiàng)目中有直接用到某個(gè)jar而這個(gè)jar已通過(guò)傳遞依賴(lài)的方式引入到maven項(xiàng)目里了。最好排除這個(gè)傳遞依賴(lài)在pom里面明確的聲明這個(gè)依賴(lài)。歸類(lèi)依賴(lài),不斷的優(yōu)化依賴(lài)如,去除多余的依賴(lài)。


 

 


查看完整回答
反對(duì) 回復(fù) 2019-03-16
  • 2 回答
  • 0 關(guān)注
  • 1451 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)