黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Maven依賴關系

Maven依賴關系

更新時間:2021-07-14 15:54:43 來源:動力節點 瀏覽1379次

1.何為依賴?

我們在平時的項目開發中也是同理,你需要依賴一些東西才能實現相應的功能,但相應的功能或許也可以依賴其它的東西實現,比如數據庫操作吧,你可以依賴hibernate,但你也可以通過mybatis來做。

這就是所謂的依賴關系咯。

以前我們需要手動的去找hibernate或者mybatis的jar包,系統拋異常我們還不知哪里報錯,通過琢磨才明白沒有引入相應的jar包,然后就去找啊找,找到了然后引入到工程當中。在這里我們就看到maven的好處了,它就是一個倉庫,倉庫里面有各種各樣的包,想要什么就在pom.xml中依賴一下就好了,就算倉庫中沒有的包也可以把它扔到倉庫中,想用的時候就依賴一下。

2.依賴傳遞的范圍

(1)根據Jar包的不同,需要為其設置不同的傳遞方式,即傳遞范圍。Maven中的依賴傳遞范圍設置在<scope>標簽中。其取值有6種:

1)compile

第1類Jar包應設置的范圍。是默認值。其會向下傳遞該依賴。

2)test

第2類Jar包應設置的范圍。其不會向下傳遞該依賴。

3)provided

第3類Jar包應設置的范圍。其不會向下傳遞該依賴。

4)runtime

第4類Jar包應設置的范圍。其會向下傳遞該依賴。

5)system

不從本地倉庫查找指定的依賴,而從<systemPath>路徑查找。

3.依賴關系分類

A.直接依賴

項目A要用到別的項目B的架構的東西,所以項目A直接依賴B項目

B.間接依賴

項目B依賴A,C依賴B,那么C間接依賴A

C.依賴傳遞性

Maven的依賴是具有傳遞性的,比如A-&gt;B,B-&gt;C,那么A間接的依賴于C,這就是依賴的傳遞性,其中A對于B是第一直接依賴,B對于C是第二直接依賴,C為A的傳遞性依賴。

D.可選依賴與排除依賴

傳遞性依賴會給項目隱式的引入很多依賴,這極大的簡化了項目依賴的管理,但是有些時候這種特性也會帶來問題,它可能會把我們不需要的jar包也引入到了工程當中,使項目結構變得更復雜。或者你想替換掉默認的依賴換成自己想要的jar包,這時候就需要用到依賴排除。

Maven依賴關系

例子中spring-core包依賴了commons-logging包,我們使用exclusions元素聲明排除依賴,exclusions可以包含一個或者多個exclusion子元素,因此可以排除一個或者多個傳遞性依賴。需要注意的是,聲明exclusions的時候只需要groupId和artifactId,而不需要version元素,這是因為只需要groupId和artifactId就能唯一定位依賴圖中的某個依賴。換句話說,Maven解析后的依賴中,不可能出現groupId和artifactId相同,但是version不同的兩個依賴。

Maven依賴關系

E.依賴沖突(調解)

下面我們來思考這樣一個問題,如果A-&gt;B-&gt;C-&gt;X(1.0),A-&gt;D-X(2.0),即A間接依賴X,我們可以看到有兩條路徑都依賴X,那么maven將會選擇哪個版本的X?maven當中有一套自己的規則,我們來說明一下,maven傳遞性依賴的一些規則以及如何排除依賴沖突。

Maven里面對于傳遞性依賴有以下幾個規則:

1.最短路徑原則:如果A對于依賴路徑中有兩個相同的jar包,那么選擇路徑短的那個包,路徑最近者優先,上述會選X(2.0)。

2.第一聲明優先原則:如果A對于依賴路徑中有兩個相同的jar包,路徑長度也相同,那么依賴寫在前面的優先。例如:A->B->F(1.0),A->C->F(2.0),會選F(1.0)。

3.可選依賴不會被傳遞,如A->B,B->;C,B->;D,A對B直接依賴,B對C和D是可選依賴,那么在A中不會引入C和D。可選依賴通過optional元素配置,true表示可選。如果要在A項目中使用C或者D則需要顯式地聲明C或者D依賴。

版本號統一管理

聚合

在Maven中,可能我們要做多個test,但是一個一個的測試去做,這樣會很麻煩,為了簡單方便,我們把所有的test package,都匯聚到一個package中,我們利用這個測試可以進行所有的test的測試,這個過程就是聚合。目前菜鳥的水平來看這個聚合,主要功能就是方便Test的!

以上就是動力節點小編介紹的"Maven依賴關系",希望對大家有幫助,想了解更多可查看Maven教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产不卡在线视频 | 成人免费xxxxx在线视频 | 国产男女视频 | 国产激情在线 | 久久99国产精品视频 | 欧美在线观看网址 | 精品午夜寂寞影院在线观看 | 欧美一区二区三区视频 | h在线观看视频 | 一个人看的视频免费高清在线 | 不卡午夜视频 | 亚洲伦理精品久久 | 欧美国产日韩911在线观看 | 冲田杏梨午夜久久99视 | 性欧美xxx 不卡视频 | 国产黄色大片在线观看 | 国产精品免费aⅴ片在线观看 | 成年女人毛片免费观看不卡 | 国产偷国产偷亚洲高清在线 | 亚洲欧美日本综合一区二区三区 | 精品久久伊人 | 直接观看黄网站免费视频 | 免费视频18 | 免费人成在线观看播放国产 | 波多野结衣四虎精品影库 | 男女午夜爽爽大片免费 | 国产精品精品国产一区二区 | 中文字幕一区二区在线播放 | 欧美视频一级 | 国产精品午夜免费观看网站 | 麻豆国产精品入口免费观看 | 97视频在线观看免费 | 欧美视频综合 | 欧美18性欧美丶黑吊 | 天天插在线视频 | 波多野结衣 一区 | 一级aa免费视频毛片 | 成年人免费在线视频观看 | 黄色一级毛片在线观看 | 日韩免费视频 | 精品400部自拍视频在线播放 |