亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

淺談Spring解決jar包依賴的bom

2024-07-13 10:15:39
字體:
來源:轉載
供稿:網友

名詞解釋:

BOM(bill of materials):材料清單,用于解決jar包依賴的好方法。

Spring IO Platform

緣起:Spring起初只專注ioc和aop,現在已發展成一個龐大體系。比如security、mvc等。如此一來,不同模塊或者與外部進行集成時,依賴處理就需要各自對應版本號。比如,較新spring與較老的quartz,它們集成就會遇到問題,給搭建和升級帶來不便。因此Spring IO Platform應運而生,只要項目中引入了它,外部集成時依賴關系無需版本號。官網的原文如下:“when you do declare a dependency on something that's part of the Platform, you will now be able to omit the version number.”
舉例如下:

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>org.springframework<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

Spring IO Platform只是一個pom文件,記錄了spring與其他開源項目對應的版本。省去了版本號,也就省去了處理依賴時的問題,因為Spring IO Platform中有最優的版本配置。

Spring相關的BOM

當然SpringSource為了解決這些Jar沖突,推出了各種BOM,當然最著名的就是spring platform io bom,其中最核心的三個是:spring-framework-bom、spring-boot-dependencies、platform-bom。

對于Spring工程來說,直接在pom.xml文件中添加如下配置代碼,即可免去管理版本沖突的難題。

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencyManagement</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>org.springframework<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>spring-framework-bom<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>4.2.0.RELEASE<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">type</span>></span>pom<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">type</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">scope</span>></span>import<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">scope</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>org.springframework.boot<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>spring-boot-dependencies<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>1.3.0.M2<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">type</span>></span>pom<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">type</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">scope</span>></span>import<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">scope</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>io.spring.platform<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>platform-bom<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>1.1.3.RELEASE<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">type</span>></span>pom<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">type</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">scope</span>></span>import<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">scope</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span> <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencyManagement</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li></ul>

參考文章

Introduction to spring io platform

總結

以上就是本文關于淺談Spring解決jar包依賴的bom的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品中文字幕视频在线| 日韩成人av在线播放| 九色91av视频| 欧美裸体视频网站| 精品国偷自产在线视频99| 欧美一级大片视频| 91欧美精品午夜性色福利在线| 精品久久中文字幕久久av| 国产啪精品视频网站| 欧美视频中文字幕在线| 欧美成人激情图片网| 色偷偷9999www| 国产精品久久电影观看| 国产日韩在线看| 粉嫩老牛aⅴ一区二区三区| 日本欧美黄网站| 精品国产网站地址| 欧美孕妇与黑人孕交| 性欧美xxxx交| 欧美自拍大量在线观看| 久久久噜噜噜久噜久久| 亚洲第一色在线| 性欧美xxxx视频在线观看| 国产女人精品视频| 日本伊人精品一区二区三区介绍| 久久九九亚洲综合| 日韩av免费在线播放| 国产区精品视频| 97人洗澡人人免费公开视频碰碰碰| 红桃视频成人在线观看| 中文字幕一区日韩电影| 亚洲另类欧美自拍| 日韩精品在线影院| 欧美日韩精品在线观看| 日本久久久久久| 精品香蕉一区二区三区| 亚洲欧美激情四射在线日| 国产精品久久久av久久久| 欧美—级a级欧美特级ar全黄| 欧美乱人伦中文字幕在线| 精品国产乱码久久久久久虫虫漫画| 久久精品视频导航| 欧美日韩国产成人在线观看| 欧美视频国产精品| 性色av一区二区三区红粉影视| 性视频1819p久久| 91免费版网站入口| 在线看欧美日韩| 国产乱人伦真实精品视频| 国产精品美女主播在线观看纯欲| 国产999精品久久久| 国产精品视频一| 国产精品欧美在线| 国产精品露脸自拍| 欧美亚洲视频在线看网址| 欧美日韩免费看| 91情侣偷在线精品国产| 国模精品视频一区二区| 成人一区二区电影| 亚洲人a成www在线影院| 欧美精品久久一区二区| 精品久久久精品| 欧美激情国产日韩精品一区18| 欧美日韩亚洲91| 国产精品入口日韩视频大尺度| 亚洲一区免费网站| 欧美中文在线字幕| 久久久亚洲精品视频| 国产精品视频白浆免费视频| 国产www精品| 日韩精品中文字幕在线播放| 欧美巨乳美女视频| 日韩欧美在线观看| 91精品国产亚洲| 欧美交受高潮1| 中文字幕亚洲专区| 97国产真实伦对白精彩视频8| 日韩欧美在线免费观看| 久久久精品国产亚洲| 亚洲xxxxx电影| 久久免费少妇高潮久久精品99| 91伊人影院在线播放| 欧美日韩视频在线| 日韩视频免费在线| 日韩精品在线影院| 日韩中文字幕在线| 亚洲中国色老太| 国产成人精品在线| 久久免费视频网| 日韩在线观看电影| 欧美视频在线免费看| 欧美极品少妇与黑人| 欧美性猛交xxxx| 国产中文字幕亚洲| 亚洲第一av网| 久久久久久网址| 欧美国产极速在线| 久久久精品电影| 国产精品久久久久av| 国内精品视频一区| 国产精品老女人精品视频| 久久青草福利网站| 日本午夜在线亚洲.国产| 国产精品美女视频网站| 亚洲jizzjizz日本少妇| 亚洲综合中文字幕在线观看| 91精品国产综合久久男男| 高清欧美性猛交xxxx黑人猛交| 日本成人在线视频网址| 国产精品香蕉在线观看| 色多多国产成人永久免费网站| 最近2019年中文视频免费在线观看| 69国产精品成人在线播放| 一级做a爰片久久毛片美女图片| 欧美美最猛性xxxxxx| 日韩中文字幕在线播放| 91嫩草在线视频| 日韩高清电影免费观看完整| 成人精品久久久| 国产精品夜间视频香蕉| 中文字幕日韩av| 国产精品久久久久久久久久久久| 久热在线中文字幕色999舞| 久久国产视频网站| 亚洲激情在线观看| 91情侣偷在线精品国产| 日韩av观看网址| 国产精品嫩草影院久久久| 一本色道久久综合狠狠躁篇的优点| 欧美最猛性xxxxx亚洲精品| 欧美国产日韩精品| 秋霞成人午夜鲁丝一区二区三区| 中文字幕亚洲欧美在线| 夜夜嗨av一区二区三区四区| 在线观看国产成人av片| 91欧美激情另类亚洲| 欧美日韩爱爱视频| 国产精品爽爽爽爽爽爽在线观看| 91国产精品91| 欧美xxxx做受欧美| 国产精品久久久91| 亚洲日本aⅴ片在线观看香蕉| 中文字幕综合一区| 国产成人精品电影| 高清欧美性猛交xxxx| 伊人久久久久久久久久久| 午夜美女久久久久爽久久| 黑人巨大精品欧美一区免费视频| 国产精品在线看| 国产一区二区免费| 亚洲国产精品大全| 98精品在线视频| 一区二区三区高清国产| 久久精品国产91精品亚洲| 久久好看免费视频| 深夜精品寂寞黄网站在线观看| 亚洲а∨天堂久久精品喷水| 国产精品久久二区| 成人情趣片在线观看免费| 国模吧一区二区三区| 亚洲综合色激情五月| 中文字幕久精品免费视频| 在线观看不卡av| 一区二区三区高清国产|