1. 程式人生 > >maven報錯:Non-resolvable parent POM for com.taotao:Taotao-common:0.0.1-SNAPSHOT: Could not find artifa

maven報錯:Non-resolvable parent POM for com.taotao:Taotao-common:0.0.1-SNAPSHOT: Could not find artifa

在做淘淘商城的專案一開始搭建後臺maven工程的時候,做Taotao-common工程繼承taotao-parent父工程時,在子工程的pom.xml檔案中報錯:Project build error: Non-resolvable parent POM for com.taotao:Taotao-common:0.0.1-SNAPSHOT: Could not find artifact com.taotao:Taotao-parent:pom:0.0.1-  SNAPSHOT and 'parent.relativePath' points at wrong local POM


這裡說的很清楚,是父工程找不到的錯誤,注意上圖中的父工程的依賴配置是自動生成的,按理說不應該去報這種錯誤。

再試著將<parent>標籤下的<artifactId>改為大寫開頭的就不報錯。這裡產生了疑問,父工程的名字是小寫開頭的taotao-parent,而且這段配置是自動生成的,為什麼會是大寫的。這裡因為是初學者,分析很久之後才知道在maven中繼承父工程應該配置的檔案是和父工程中的pom.xml中的一致,因為父工程中的pom.xml是複製過來的,和自己建立的工程名字不配套,而自動生成的子工程pom.xml關於父工程的配置是根據你在new a maven project時生成的,不具備自己匹配父工程破pom.xml檔案中的功能。這裡也提醒我很重要的兩點:

(1)工程專案建立的時候要注意命名大小寫的區別。這是一種習慣和規範可以避免很多不必要的問題

(2)子工程pom.xml檔案中關於父工程的配置是要和父工程中的pom.xml檔案中的工程名字去對應的,而不是你在new一個maven project時自己寫的工程名字。