No such application config! Please add dubbo:application

SpringBoot運行找不到application.properties配置文件


運行springBoot項目啓動報錯:java.lang.IllegalStateException: No such application config! Please add to your spring config。字面意思就是沒找到dubbo.application.name這個屬性,百度了下不少帖子遇到這個問題,可是並無解決個人問題,在此記錄下。java


遇到這個問題第一個可能性是配置文件出錯,好比yml文件冒號後面少了一個空格,或者屬性拼寫錯誤。spring

第二種可能性是 resources目錄沒有Mark as resources root,致使讀取不到對應目錄下的配置文件(idea)springboot

我檢查完配置文件和目錄,仍然報這個錯,只有去代碼裏找答案。在ConfigFileApplicationListener類中,能夠看到 DEFAULT_SEARCH_LOCATIONS 默認加載位置有:"classpath:/,classpath:/config/,file:./,file:./config/",DEFAULT_NAMES 默認配置文件名:"application"app

其實問題就出在了這裏,可是沒有注意到這裏,繼續去找源碼看帖子,有說依賴衝突的,有說facts沒配置好的,甚至有人回答Springboot版本的問題,很奔潰。
最後去target目錄下看編譯好的代碼,才發現並無application.properties文件,原來問題出在了這裏,豁然開朗,問題轉化成了:爲何配置文件沒編譯出來ide

仔細檢查目錄,發現公司的配置文件放在了resources/spring下面,把他挪到resources下面,編譯成功。運行成功。
idea


此次查找問題給了我兩個啓發:spa

  • 報了錯,一些東西不能以爲是理所應當的,好比說理所應當的以爲配置文件沒放錯位置,應該再仔細的排除問題。
  • 學會使用Idea的target查看編譯後的代碼,以前沒用過,如今簡直是方便,idea真香
相關文章
相關標籤/搜索