您好,登錄后才能下訂單哦!
這篇文章主要介紹了Maven坐標(biāo)與依賴怎么配置的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Maven坐標(biāo)與依賴怎么配置文章都會(huì)有所收獲,下面我們一起來看看吧。
<groupId>cmbc.com.cn</groupId> <artifactId>myapp</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging>
說明:
a、groupId、artifactId、version必須配置,packaging為可選配置,未配置則默認(rèn)為jar
b、項(xiàng)目構(gòu)件名稱與坐標(biāo)相對(duì)應(yīng),通常為artifactId-version.packaging,上述坐標(biāo)對(duì)應(yīng)構(gòu)件名稱為myapp-1.0-SNAPSHOT
<project> <dependencies> 可以包含多個(gè)<dependency> <dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <type>...</type> 坐標(biāo)類型,對(duì)應(yīng)項(xiàng)目坐標(biāo)定義的packing <scope>...</scope> 依賴范圍 <optional>...</optional> 標(biāo)記依賴是否可選 <exclusions> 排除傳遞性依賴 ... </exclusions> </dependency> </dependencies> </project>
a、依賴范圍種類
b、依賴范圍的作用
Maven有編譯、測試、運(yùn)行classpath,依賴范圍用于控制依賴與三種classpath的關(guān)系。
a、項(xiàng)目A依賴于B,B依賴于C,則C是A的傳遞性依賴。Maven會(huì)將必要的間接依賴以傳遞式依賴的形式引入到項(xiàng)目。
b、確定傳遞性依賴范圍
項(xiàng)目A依賴于B,B依賴于C,則B是A的第一直接依賴,C是B的第二直接依賴,C是A的傳遞性依賴。第一和第二直接依賴的范圍決定了傳遞性依賴的范圍,如下所示,左邊為第一直接依賴范圍,上面為第二直接依賴范圍,中間為傳遞性依賴范圍:
當(dāng)項(xiàng)目多個(gè)直接依賴在其自己的依賴路徑中分別依賴了同一個(gè)其它依賴,那么該引入哪一個(gè)路徑上的依賴呢?
規(guī)則:不同路徑長度,路徑最短優(yōu)先;相同路徑長度,第一申明優(yōu)先
假設(shè)A依賴于B,B依賴于C(可選),D(可選)(在B項(xiàng)目中的pom.xml文件依賴C和D,申明
傳遞性依賴會(huì)隱式的引入很多依賴,極大簡化了項(xiàng)目依賴的管理。但在以下情形需要使用
a、A依賴B,B依賴C,C(快照版本)不穩(wěn)定可能會(huì)影響項(xiàng)目A。此時(shí)需要排除C而引入引入C的穩(wěn)定版本。
b、可能由于版權(quán)原因,C(穩(wěn)定版本)不在中央倉庫,而D項(xiàng)目是一個(gè)可替代的實(shí)現(xiàn)。此時(shí)需要排除C而引入D
關(guān)于“Maven坐標(biāo)與依賴怎么配置”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Maven坐標(biāo)與依賴怎么配置”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。