亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何配置maven pom文件來解決jar包沖突

如何配置maven pom文件來解決jar包沖突

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

2 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

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


mvn dependency:tree

結果中重要的是兩個部分,首先是Used undeclared dependencies意值項目中使用到的,但是沒有顯示聲明的依賴。這種依賴意味著潛在的風險。他是通過其他直接依賴導入的傳遞性依賴,當直接依賴升級時相關依賴的版本也會變化??赡軐е庐斍绊椖繄箦e,且不易察覺。另一個部分是Unused declared dependencies意指項目中未使用的,但顯式聲明的依賴。需要注意的是我們不應該直接刪除了事而是應該仔細分析。因為這個命令行發現不了執行測試和運行時需要的依賴。
以上方法都可可完整的查看當前項目的jar情況,個人更喜歡使用命令行。

2、通過以上方法我們可以看到項目中引用jar版本號;接下來就是如何排除掉我們不想要版本的jar;語法如下:

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

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



查看完整回答
反對 回復 2019-03-16
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

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

jar包沖突多為傳遞性依賴的管理不當給項目帶來的麻煩解決思路羅列如下:

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

1

mvn dependency:tree

結果中重要的是兩個部分,首先是Used undeclared dependencies意值項目中使用到的,但是沒有顯示聲明的依賴。這種依賴意味著潛在的風險。他是通過其他直接依賴導入的傳遞性依賴,當直接依賴升級時相關依賴的版本也會變化??赡軐е庐斍绊椖繄箦e,且不易察覺。另一個部分是Unused declared dependencies意指項目中未使用的,但顯式聲明的依賴。需要注意的是我們不應該直接刪除了事而是應該仔細分析。因為這個命令行發現不了執行測試和運行時需要的依賴。

以上方法都可可完整的查看當前項目的jar情況,個人更喜歡使用命令行。

2、通過以上方法我們可以看到項目中引用jar版本號;接下來就是如何排除掉我們不想要版本的jar;語法如下:

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可包含一個或多個exclusion元素-->

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


 

 


查看完整回答
反對 回復 2019-03-16
  • 2 回答
  • 0 關注
  • 1433 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號