2023學(xué)年完整公開課版依賴(Dependency)_第1頁
2023學(xué)年完整公開課版依賴(Dependency)_第2頁
2023學(xué)年完整公開課版依賴(Dependency)_第3頁
2023學(xué)年完整公開課版依賴(Dependency)_第4頁
2023學(xué)年完整公開課版依賴(Dependency)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

依賴Dependency2目錄依賴的配置傳遞性依賴依賴的范圍依賴調(diào)解歸類依賴排除依賴優(yōu)化依賴依賴范圍影響傳遞性依賴3依賴的配置根元素project下的dependencies可以包含一個(gè)或多個(gè)dependency元素,以聲明一個(gè)或多個(gè)依賴。每個(gè)依賴可以包含的元素有:groupId、artifactId和version:依賴的基本坐標(biāo),坐標(biāo)三元素。type:依賴的類型,對應(yīng)于項(xiàng)目定義的packaging,大部分情況下不需要定義,使用默認(rèn)值jar。scope:依賴的范圍。optional:標(biāo)記依賴是否可選。exclusions:用來排除傳遞性依賴。4依賴的范圍5傳遞性依賴當(dāng)A有一個(gè)compile范圍的B依賴,B有一個(gè)compile范圍的C依賴,那么C就會成為A的compile范圍依賴,C是A的一個(gè)傳遞性依賴。有了傳遞性依賴的機(jī)制,在使用某個(gè)依賴時(shí)就不需要考慮它依賴了什么,也不需要擔(dān)心引入多余的依賴。Maven會解析各個(gè)直接依賴的POM,將那些必要的間接依賴,以傳遞性依賴的形式引入到當(dāng)前的項(xiàng)目中。需要注意的是,可選依賴不會被傳遞。6依賴范圍影響傳遞性依賴7依賴調(diào)解當(dāng)兩個(gè)依賴路徑上有兩個(gè)版本的依賴X時(shí),有以下兩個(gè)依賴調(diào)解原則:第一原則:路徑最近者優(yōu)先;第二原則:路徑長度一樣時(shí),第一聲明者優(yōu)先。8排除依賴當(dāng)項(xiàng)目A依賴于項(xiàng)目B,但是不想引入傳遞性依賴C,而是自己顯示的聲明對項(xiàng)目C另一個(gè)版本的依賴,使用exclusions元素聲明排除性依賴。exclusions可以包含一個(gè)或者多個(gè)exclusion子元素,聲明exclusion時(shí)只需要groupId和artifactId,不需要version元素。9歸類依賴當(dāng)項(xiàng)目中依賴了同一項(xiàng)目的不同模塊,它們的版本都是相同的,因此在升級的時(shí)候,這些依賴的版本會一起升級。為了避免重復(fù),且需要修改時(shí)只修改一處,可以通過歸類依賴來解決。使用properties元素定義Maven屬性,如springframework.version子元素,并定義其值。有了這個(gè)屬性定義,maven運(yùn)行時(shí)會將POM中所有的${springframwork.version}替換成定義的實(shí)際值。10優(yōu)化依賴使用dependency:list和dependency:tree幫助我們詳細(xì)了解項(xiàng)目中所有依賴的具體信息。使用dependency:analyze工具可以幫助分析當(dāng)前項(xiàng)目的依賴。analyze的結(jié)果中包含了兩部分:Usedundeclareddependencies:項(xiàng)目中使用但未顯式聲明的依賴。這種依賴意味著潛在的風(fēng)險(xiǎn);Unuseddeclareddependencise:項(xiàng)目中未使用的,但顯式聲明的依賴

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論