溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Maven坐標(biāo)與依賴怎么配置

發(fā)布時(shí)間:2022-09-28 13:48:40 來源:億速云 閱讀:144 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Maven坐標(biāo)與依賴怎么配置的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Maven坐標(biāo)與依賴怎么配置文章都會(huì)有所收獲,下面我們一起來看看吧。

1. 坐標(biāo)-找到項(xiàng)目依賴的重要依據(jù)

<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

2. 依賴配置

<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>

3. 依賴詳述

依賴范圍

a、依賴范圍種類

Maven坐標(biāo)與依賴怎么配置

b、依賴范圍的作用

Maven有編譯、測試、運(yùn)行classpath,依賴范圍用于控制依賴與三種classpath的關(guān)系。

Maven坐標(biāo)與依賴怎么配置

傳遞性依賴

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的傳遞性依賴。第一和第二直接依賴的范圍決定了傳遞性依賴的范圍,如下所示,左邊為第一直接依賴范圍,上面為第二直接依賴范圍,中間為傳遞性依賴范圍:

Maven坐標(biāo)與依賴怎么配置

依賴調(diào)解

當(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,申明中均添加true)。可選依賴不具備傳遞性,因此A項(xiàng)目中不能引入C或D的依賴,如果需要使用C或D需要在A項(xiàng)目中直接依賴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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI