Maven中錯誤使用parent.relativePath導(dǎo)致構(gòu)建失敗問題
Maven中錯誤使用parent.relativePath導(dǎo)致構(gòu)建失敗
搭建一個SpringBoot項目,Maven結(jié)構(gòu)為一個空的父模塊包含兩個子模塊
- 父模塊繼承
spring-boot-starter-parent
<!-- 部分內(nèi)容 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.13</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.mos</groupId> <artifactId>parent</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <modules> <module>consume</module> <module>produce</module> </modules>
- 子模塊繼承父模塊
<!-- 部分內(nèi)容 --> <parent> <groupId>com.mos</groupId> <artifactId>parent</artifactId> <version>1.0.0</version> <relativePath/><!-- 注意這個標(biāo)簽 --> </parent> <artifactId>consume</artifactId> <version>1.0.0</version>
然后通過Maven構(gòu)建,報錯,提示遠(yuǎn)程/本地倉庫中都找不到 com.mos:parent
這個項目,本地創(chuàng)建的項目,也沒有安裝到本地倉庫,肯定兩邊都找不到啊。
但是以前也正常,為什么就這個項目突然出問題了,原因就出在子項目的 <relativePath/>
標(biāo)簽上,
官方對該標(biāo)簽解釋
Maven looks for the parent pom first in the reactor of currently building projects, then in this location on the filesystem, then the local repository, and lastly in the remote repo.
- Maven首先在當(dāng)前構(gòu)建項目的reactor中查找父pom,然后在文件系統(tǒng),然后是本地存儲庫,最后是遠(yuǎn)程repo。
for example when your structure is flat, or deeper without an intermediate parent pom. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM.
- 例如,當(dāng)您的結(jié)構(gòu)是平的,或者更深而沒有中間父pom時。但是,組ID、工件ID和版本仍然是必需的,并且必須與給定位置的文件匹配,否則它將恢復(fù)到POM的存儲庫。(即設(shè)定一個空值或給定位置不存在時,將始終從倉庫中獲取,不從本地路徑獲取,如
<relativePath/>
)
因為子模塊都是用IDEA的SpringBoot模板構(gòu)建的,所以 pom.xml
里面都有 <relativePath/>
標(biāo)簽,去除即可。
- 或者手動為其指明父pom
<relativePath>../pom.xml</relativePath>
問題解決。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java操作MongoDB插入數(shù)據(jù)進(jìn)行模糊查詢與in查詢功能
今天小編就為大家分享一篇關(guān)于Java操作MongoDB插入數(shù)據(jù)進(jìn)行模糊查詢與in查詢功能,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12SpringCloud+nacos部署在多ip環(huán)境下統(tǒng)一nacos服務(wù)注冊ip(親測有效)
在部署SpringCoud項目的時候分服務(wù)器部署注冊同一個nacos服務(wù),但是在服務(wù)器有多個ip存在的同時(內(nèi)外網(wǎng)),就會出現(xiàn)注冊服務(wù)ip不同的問題,導(dǎo)致一些接口無法連接訪問,經(jīng)過多次排查終于找到問題并找到解決方法,需要的朋友可以參考下2023-04-04Java利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏詳解
在項目中有些敏感信息不能直接展示,比如客戶手機號、身份證、車牌號等信息,展示時均需要進(jìn)行數(shù)據(jù)脫敏,防止泄露客戶隱私。本文將利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏,需要的可以參考一下2023-03-03SpringBoot之@ConditionalOnProperty注解使用方法
在平時業(yè)務(wù)中,我們需要在配置文件中配置某個屬性來決定是否需要將某些類進(jìn)行注入,讓Spring進(jìn)行管理,而@ConditionalOnProperty能夠?qū)崿F(xiàn)該功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05詳解基于MybatisPlus兩步實現(xiàn)多租戶方案
這篇文章主要介紹了詳解基于MybatisPlus兩步實現(xiàn)多租戶方案,本文分兩步,通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04基于Java實現(xiàn)無向環(huán)和有向環(huán)的檢測
這篇文章主要介紹了如何在?Java?中實現(xiàn)無向環(huán)和有向環(huán)的檢測,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定的幫助,需要的可以參考一下2022-04-04