今天用IDEA運行SpringBoot程序,啓動時始終報錯說讀取不到datasource的url配置。maven
分析代碼的resources目錄,是有配置文件的,配置也是正常的。以下圖:url
後來經人指點,是由於每次經過IDEA直接運行Application時,會自動生成target目錄,target裏的classes下邊沒有所需的配置文件,因此運行時會報錯說找不到配置。xml
正常運行後的target目錄以下:blog
錯誤的target目錄以下:資源
形成錯誤的一種緣由:get
是在pom裏邊配置了resources過濾器,以下:源碼
這樣在IDEA直接運行的自動重編譯時以及maven clean install時,就會把resources源碼下邊的配置文件都過濾掉,不能打到classes下邊,從而運行時報錯找不到配置文件。io
另外,發現手動將resources資源目錄unmark掉,而後從新import pom.xml,resources目錄又從新自動識別爲資源目錄。編譯
可是把目錄名修改成resourcesxxx以後,再reimport就不會自動識別了,也不會將配置文件生成到target目錄下。以下圖:class
因此,maven應該默認回去讀取目錄中的resources名稱的目錄,做爲資源目錄,進行編譯。