BOM簡(jiǎn)介
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、方正網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為方正等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。BOM(Bill of Materials)是由Maven提供的功能,它通過(guò)定義一整套相互兼容的jar包版本集合,使用時(shí)只需要依賴該BOM文件,即可放心的使用需要的依賴jar包,且無(wú)需再指定版本號(hào)。BOM的維護(hù)方負(fù)責(zé)版本升級(jí),并保證BOM中定義的jar包版本之間的兼容性。
為什么要使用BOM
使用BOM除了可以方便使用者在聲明依賴的客戶端時(shí)不需要指定版本號(hào)外,最主要的原因是可以解決依賴沖突,如考慮以下的依賴場(chǎng)景:
項(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)生問(wèn)題,如 NoSuchMethodError, ClassNotFoundException等。
如何定義BOM
BOM本質(zhì)上是一個(gè)普通的POM文件,區(qū)別是對(duì)于使用方而言,生效的只有
<?xml version="1.0" encoding="UTF-8"?>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/
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。