真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微服務(wù)中如何使用Maven的BOM來管理版本依賴

這篇文章主要為大家展示了“微服務(wù)中如何使用Maven的BOM來管理版本依賴”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微服務(wù)中如何使用Maven的BOM來管理版本依賴”這篇文章吧。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比海曙網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式海曙網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋海曙地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

BOM簡介

BOM(Bill of Materials)是由Maven提供的功能,它通過定義一整套相互兼容的jar包版本集合,使用時(shí)只需要依賴該BOM文件,即可放心的使用需要的依賴jar包,且無需再指定版本號(hào)。BOM的維護(hù)方負(fù)責(zé)版本升級(jí),并保證BOM中定義的jar包版本之間的兼容性。

為什么要使用BOM

使用BOM除了可以方便使用者在聲明依賴的客戶端時(shí)不需要指定版本號(hào)外,最主要的原因是可以解決依賴沖突,如考慮以下的依賴場景:

項(xiàng)目A依賴項(xiàng)目B 2.1和項(xiàng)目C 1.2版本: 項(xiàng)目B 2.1依賴項(xiàng)目D 1.1版本; 項(xiàng)目C 1.2依賴項(xiàng)目D 1.3版本;

在該例中,項(xiàng)目A對(duì)于項(xiàng)目D的依賴就會(huì)出現(xiàn)沖突,按照maven dependency mediation的規(guī)則,最后生效的可能是:項(xiàng)目A中會(huì)依賴到項(xiàng)目D1.1版本(就近原則,取決于路徑和依賴的先后,和Maven版本有關(guān)系)。

在這種情況下,由于項(xiàng)目C依賴1.3版本的項(xiàng)目D,但是在運(yùn)行時(shí)生效的確是1.1版本,所以在運(yùn)行時(shí)很容易產(chǎn)生問題,如 NoSuchMethodError, ClassNotFoundException等。

如何定義BOM

BOM本質(zhì)上是一個(gè)普通的POM文件,區(qū)別是對(duì)于使用方而言,生效的只有這一個(gè)部分。只需要在定義對(duì)外發(fā)布的客戶端版本即可:

 4.0.0  com.ydj.qd  inf-bom  1.0  pom  inf-bom  第三方j(luò)ar包統(tǒng)一管理      UTF-8    UTF-8    1.8    4.3.15.RELEASE                                  com.alibaba        druid        1.1.12                          com.aliyun.mns        aliyun-sdk-mns        1.1.8        jar-with-dependencies                    com.alibaba        fastjson        1.2.29                          org.apache.commons        commons-lang3        3.3.2                    commons-collections        commons-collections        3.2.2                    org.apache.commons        commons-collections4        4.1                    commons-beanutils        commons-beanutils        1.9.1                                com.google.guava        guava        27.0.1-jre                    com.google.code.gson        gson        2.8.5                          joda-time        joda-time        2.7                    org.projectlombok        lombok        1.14.4                            maven-releases      maven-releases      http://mvn.ydj.com/repository/maven-releases/              maven-snapshots      maven-snapshots      http://mvn.ydj.com/repository/maven-snapshots/      

項(xiàng)目使用方法

在你的項(xiàng)目主pom.xml文件中節(jié)點(diǎn)下首位處加入如下:

           com.jlcx.qd      inf-bom      ${version}      pom      import                    ...      

在需要使用相關(guān)JAR包的pom.xml文件中節(jié)點(diǎn)下引入如下:

 ...      com.google.guava    guava        commons-collections    commons-collections    ....

如果需要使用不同于當(dāng)前bom中所維護(hù)的jar包版本,則加上覆蓋即可,如:

 ...      com.google.guava    guava        commons-collections    commons-collections    3.2.1    ....

以上是“微服務(wù)中如何使用Maven的BOM來管理版本依賴”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


名稱欄目:微服務(wù)中如何使用Maven的BOM來管理版本依賴
URL鏈接:http://weahome.cn/article/pecpjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部