maven項目中找不到pom文件(Could not find artifact com.dreambegin:housekeep:pom:1.0-SNAPSHOT)


演示環境:

IntelliJ IDEA 2019.2.2

jdk1.8

maven3.5.3

內容:

自己搭建項目時,發現的一個如下問題。聚合工程,管理自己的子模塊和子模塊的依賴。

當我在一個子模塊中clean,compiler或者install時都會報如下錯誤。去網上找了下解決方案,按照所說,把父工程install一下就好了。

然后我興高采烈的去一試究竟,發現然並卵。housekeep父工程clean一下依然包如下錯誤。install就更不用說了。

What!  Why?   

網上找了半天依然沒有解決。最后自己摸索終於找出了問題所在。

 

在我們使用idea集成maven之后給的clean,compiler或者install等操作,控制台打印的報錯日志太少了,就這么干巴巴的一句話(我的是這樣)

於是我就打開了idea下面的terminal,這個terminal的作用想必大家都不陌生,就是相當於在該項目下打開CMD命令窗口(idea中terminal默認是打開我們的CMD命令窗口)。

 

 

打開是這個樣子

 

 

然后我就使用maven的命令來clean一下這個housekeep父工程,結果如下

 

 

這個報錯日志就比較詳細,仔細一看,發現上面有這樣一段話

 

 

大概意思就是說我的housekeep-product-service子模塊找不到父級工程housekeep的pom文件

於是我就去找到我這個子項目

 

 

我建的項目時三層關系,紅圈是最外一層,也就是housekeep父工程。藍圈是二級父級項目housekeep-product繼承housekeep。而綠圈側是我的服務項目housekeep-product-service。

因為項目依賴繼承關系有點多,一時走神,把housekeep-product-service中的父級寫成了housekeep,應該是寫成housekeep-product。按照正常來說這也沒什問題,無非就是繼承有點混亂。但因為housekeep-product-service項目的所在的項目位置,和housekeep父級工程的pom文件所在的目錄,相距了兩層文件目錄,而我也沒有給這個父級依賴添加<relativePath>標簽來指明pom文件的位置,該子工程項目就會默認從當前項目所在地的上一級目錄去找,很顯然是找不到的。這就導致了剛開始的問題。解決辦法可以加上<relativePath>標簽來指明pom文件的位置或者這把父級改成housekeep-product。當然后者是最好的。

 

第一種改法如下

 

 之后在housekeep父級工程clean一下,就會成功。

 

第二種改法

 在housekeep父級工程clean一下,依然肯定會成功。之后就是我把父級工程install一下,進行之后操作。clean成功的前提下這個install一般都會成功,不成功,按照上面的步驟進行對install的追查。

 

綜上所述,最終是想告訴小伙伴們,在idea中出現這種pom文件找不到的情況,我們可以使用maven命令去操作,報出的異常信息比較詳細,我們能追根溯源,找到具體是哪那個子模塊有問題。

 

本人學疏才淺,以上是個人的一點見解,希望能幫助志同道合的小伙伴。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM