Maven 多模組專案建構時拋出:
Non-resolvable parent POM for ...: Could not find artifact com.example:parent:pom:1.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM
Maven 解析子模組 POM 時,需先定位父 POM。解析順序:
~/.m2/repository)查找對應 GAV。<relativePath> 指定(預設 ../pom.xml),嘗試讀取相對路徑文件。常見原因:父模組(或依賴的公共模組)**未先執行 mvn install 安裝至本地倉庫**,導致步驟 1、2 失敗(相對路徑錯誤或文件不存在),步驟 3 遠端無快照版 → 報錯。
mvn clean install -DskipTests。common、core):進入各模組目錄執行 mvn clean install -DskipTests。mvn clean package 或 mvn clean deploy。右鍵父項目 → Run As → Maven install。
同樣對 common、parent 等被依賴模組執行 install。
Lifecycle → install。Run As → Maven install。relativePath:若父子目錄非標準結構,在子模組 POM 中聲明:
<parent>
<groupId>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../parent/pom.xml</relativePath> <!-- 明確相對路徑 -->
</parent>
mvn clean install,Reactor 會自動按依賴拓撲序建構所有模組,**無需手動逐個 install**。-SNAPSHOT,mvn clean install -U 強制更新本地快照。「先安裝被依賴模組,再建構依賴模組」 是 Maven 多模組開發的鐵律。養成在聚合根目錄執行 mvn clean install 的習慣,讓 Reactor 自動處理建構順序,徹底杜絕「找不到父 POM」錯誤。