Maven繼承父工程時(shí)的relativePath標(biāo)簽解析用法小結(jié)
relativePath 的作用是為了找到父級(jí)工程的pom.xml;因?yàn)樽庸こ绦枰^承父工程的pom.xml文件中的內(nèi)容。然后relativePath 標(biāo)簽內(nèi)的值使用相對(duì)路徑定位到父工程的pom.xml。
父項(xiàng)目的pom.xml文件的相對(duì)路徑。相對(duì)路徑允許你選擇一個(gè)不同的路徑。默認(rèn)值是…/pom.xml。Maven首先在構(gòu)建當(dāng)前項(xiàng)目的地方尋找父項(xiàng) 目的pom,其次在文件系統(tǒng)的這個(gè)位置(relativePath位置),然后在本地倉(cāng)庫(kù),最后在遠(yuǎn)程倉(cāng)庫(kù)尋找父項(xiàng)目的pom。
<parent> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo</artifactId> <version>1.6.1</version> <relativePath>../pom.xml</relativePath> </parent>
relativePath:
- 1)默認(rèn)我們不用寫<relativePath>,等同…/pom.xml, 即默認(rèn)從當(dāng)前pom文件的上一級(jí)目錄找,會(huì)從上級(jí)目錄中獲取parent的pom,我們建多模塊的項(xiàng)目就是這個(gè)情況。
<relativePath/> 設(shè)定一個(gè)空值將始終從倉(cāng)庫(kù)中獲取,表示不從relativePath找, 直接從本地倉(cāng)庫(kù)找,找不到再?gòu)倪h(yuǎn)程倉(cāng)庫(kù)找,很常見(jiàn)的場(chǎng)景就是使用springboot的時(shí)候
- 3.xxxxxx 這種也很顯然,指定一個(gè)xxxx本地的路徑,從xxxx本地路徑獲取parent的 pom。
- 4)指定查找該父項(xiàng)目pom.xml的(相對(duì))路徑。默認(rèn)順序:relativePath > 本地倉(cāng)庫(kù) > 遠(yuǎn)程倉(cāng)庫(kù)。沒(méi)有relativePath標(biāo)簽等同…/pom.xml, 即默認(rèn)從當(dāng)前pom文件的上一級(jí)目錄找。
關(guān)于2)經(jīng)過(guò)測(cè)試,似乎 沒(méi)有relativePath標(biāo)簽時(shí),它沒(méi)有從當(dāng)前pom文件的上一級(jí)目錄找,子模塊繼承不到父模塊中dependencyManagement中包的version信息。因此,強(qiáng)烈推薦,子模塊配置relativePath元素,指定 …/pom.xml。
maven 定位父pom的順序如下:
- 首先在當(dāng)前構(gòu)建項(xiàng)目的反應(yīng)器中查找父pom
- 然后在 relativePath 定義的位置查找文件系統(tǒng)
- 然后是本地存儲(chǔ)庫(kù)
- 最后是遠(yuǎn)程repo
到此這篇關(guān)于Maven繼承父工程時(shí)的relativePath標(biāo)簽解析用法小結(jié)的文章就介紹到這了,更多相關(guān)Maven relativePath標(biāo)簽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows下Java+MyBatis框架+MySQL的開(kāi)發(fā)環(huán)境搭建教程
這篇文章主要介紹了Windows下Java+MyBatis框架+MySQL的開(kāi)發(fā)環(huán)境搭建教程,Mybatis對(duì)普通SQL語(yǔ)句的支持非常好,需要的朋友可以參考下2016-04-04
Spring如何基于Proxy及cglib實(shí)現(xiàn)動(dòng)態(tài)代理
這篇文章主要介紹了Spring如何基于Proxy及cglib實(shí)現(xiàn)動(dòng)態(tài)代理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

