Maven的依賴(1) 之 依賴的作用域scope

一橡娄、scope作用域介紹

Maven的一個(gè)哲學(xué)是約定大于配置拔莱,所以在maven中立美,很多內(nèi)容都有默認(rèn)值棕所,scope的默認(rèn)值是compile。

scope元素的作用:控制 dependency(依賴)元素的使用范圍悯辙。通俗的講琳省,就是控制 Jar 包在哪些范圍被加載和使用。這個(gè)范圍包括躲撰,編譯针贬、測(cè)試、運(yùn)行拢蛋,并且還可以加上是否被打入包中桦他。

二、Scope分類

Scope的作用域范圍包括compile谆棱、test快压、provided、runtime垃瞧、system蔫劣、import

1. compile

  • 此范圍為默認(rèn)依賴范圍个从,是一個(gè)比較強(qiáng)的依賴脉幢,適用于所有階段歪沃。

  • 這些dependencie(依賴)的jar,會(huì)傳遞到其他依賴的上層項(xiàng)目中嫌松。

  • 由于運(yùn)行時(shí)需要所以編譯范圍的依賴會(huì)被打包沪曙,會(huì)隨著項(xiàng)目一起發(fā)布。

  • 范圍:編譯萎羔、測(cè)試液走、運(yùn)行(部署)都有效 。

2. test

  • 表示被依賴項(xiàng)目?jī)H僅參與測(cè)試相關(guān)的工作贾陷,在編譯和運(yùn)行時(shí)都不需要育灸,只在編譯測(cè)試代碼或者運(yùn)行測(cè)試代碼的時(shí)候才能使用該依賴。比較典型的如junit昵宇。

  • 由于運(yùn)行時(shí)不需要所以test范圍依賴不會(huì)被打包磅崭。

  • 范圍:僅測(cè)試有效

3. provided

  • provided依賴在編譯和測(cè)試時(shí)需要,在運(yùn)行時(shí)不需要瓦哎。

  • 正因?yàn)檫\(yùn)行時(shí)無(wú)效砸喻,可以防止和tomcat下jar沖突,因?yàn)閟ervlet api被tomcat容器提供蒋譬,就不需要maven再重復(fù)引入割岛。

  • 由于運(yùn)行時(shí)不需要所以provided范圍依賴不會(huì)被打包。

  • 范圍:編譯犯助、測(cè)試有效癣漆。

4. runtime

  • runtime依賴在運(yùn)行和測(cè)試的時(shí)候需要,但在編譯的時(shí)候不需要剂买。與compile相比惠爽,被依賴項(xiàng)目無(wú)需參與項(xiàng)目的編譯。

  • 比如:jdbc的驅(qū)動(dòng)包瞬哼,項(xiàng)目主代碼的編譯只需要JDK提供的JDBC接口婚肆,只有在執(zhí)行測(cè)試或者運(yùn)行項(xiàng)目的時(shí)候才需要實(shí)現(xiàn)上述接口的具體JDBC驅(qū)動(dòng)。

  • 由于運(yùn)行時(shí)需要所以runtime范圍的依賴會(huì)被打包坐慰。

  • 范圍:測(cè)試较性、運(yùn)行有效。

5. system

  • system范圍依賴與provided類似结胀,但是你必須顯式的提供一個(gè)位于本地系統(tǒng)中JAR文件的路徑赞咙,需要指定systemPath磁盤路徑,system依賴不推薦使用糟港。
<dependency>

    <groupId>org.learn.ocr</groupId>

    <artifactId>ocr-core</artifactId>

    <version>1.6.8</version>

    <scope>system</scope>

    <systemPath>${basedir}/Webcontent/WEB-INF/1ib/ocr-core.jar</systemPath>

</dependency>
  • 范圍:測(cè)試攀操、運(yùn)行有效

三、總結(jié)

總結(jié)

依賴范圍由強(qiáng)到弱的順序是:compile>provided>runtime>test

由于system依賴不怎么推薦使用着逐。下面排序就不排入了崔赌,如果排序和provided并排。

Tips:自從maven 2.0.9以后耸别,在<dependencyManagement>管理下健芭,多了一種依賴的scope,是import秀姐,這個(gè)以后在進(jìn)行詳細(xì)講解慈迈。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市省有,隨后出現(xiàn)的幾起案子痒留,更是在濱河造成了極大的恐慌,老刑警劉巖蠢沿,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伸头,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡舷蟀,警方通過(guò)查閱死者的電腦和手機(jī)恤磷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)野宜,“玉大人扫步,你說(shuō)我怎么就攤上這事⌒僮樱” “怎么了河胎?”我有些...
    開(kāi)封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)虎敦。 經(jīng)常有香客問(wèn)我游岳,道長(zhǎng),這世上最難降的妖魔是什么其徙? 我笑而不...
    開(kāi)封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任吭历,我火速辦了婚禮,結(jié)果婚禮上擂橘,老公的妹妹穿的比我還像新娘晌区。我一直安慰自己,他們只是感情好通贞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布朗若。 她就那樣靜靜地躺著,像睡著了一般昌罩。 火紅的嫁衣襯著肌膚如雪哭懈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天茎用,我揣著相機(jī)與錄音遣总,去河邊找鬼睬罗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛旭斥,可吹牛的內(nèi)容都是我干的容达。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼垂券,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼花盐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起菇爪,我...
    開(kāi)封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤算芯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后凳宙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體熙揍,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年氏涩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诈嘿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡削葱,死狀恐怖奖亚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情析砸,我是刑警寧澤昔字,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站首繁,受9級(jí)特大地震影響作郭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弦疮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一夹攒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胁塞,春花似錦咏尝、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至扰才,卻和暖如春允懂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背衩匣。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工蕾总, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粥航,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓生百,卻偏偏與公主長(zhǎng)得像递雀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子置侍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Maven的一個(gè)哲學(xué)是慣例優(yōu)于配置(Convention Over Configuration), Maven默認(rèn)...
    小狼在IT閱讀 1,011評(píng)論 0 1
  • maven項(xiàng)目中需要使用到其它依賴時(shí)映之,則需要在pom.xml中配置<dependency>元素也就是依賴聲明拦焚,這樣...
    zlcook閱讀 1,821評(píng)論 1 3
  • 1蜡坊、什么是坐標(biāo)? ①赎败、數(shù)學(xué)中的坐標(biāo) 在平面上秕衙,使用 X 、Y 兩個(gè)向量可以唯一的定位平面中的任何一個(gè)點(diǎn) 在空間中僵刮,...
    goldfather閱讀 754評(píng)論 0 0
  • Maven依賴中scope的含義 整理一下Maven中Scope的詳細(xì)作用据忘,都是抄的別人內(nèi)容整理了一下。參考:ht...
    UEUEO閱讀 34,526評(píng)論 7 33
  • Maven的基本了解 什么是Maven搞糕? Maven就是Apache下的一個(gè)開(kāi)源項(xiàng)目勇吊。它是用純java開(kāi)發(fā)的。是一...
    Bcome閱讀 2,820評(píng)論 0 7