[英]Spring boot external config override isnt working
我的資源文件夾中有一個application.yml
和application-qa.yml
。 我有一個外部application-qa.yml
。 我希望外部application-qa.yml
的屬性覆蓋默認application.yml
和內部application-qa.yml
的匹配application-qa.yml
,但我不想覆蓋整個文件。
我添加了這個VM選項(在Intellij中):- -Dspring.config.additional-location=file:{absolute/path/to/external/ending/with/application-qa.yml}
我也有env變量(也在Intellij中): spring.profiles.active=qa
由於某種原因,覆蓋無法正常工作,我從內部application-qa.yml
而不是外部application-qa.yml
獲取值。
嘗試將外部文件命名為application.yml
,沒有用。
更新:
如果我從路徑末尾刪除application-qa.yml
並僅提供文件所在文件夾的路徑,它確實可以工作,但是我想指定一個文件,但我不希望他接受該目錄中的所有內容。
這是從1.x到2.x的行為更改。 spring.config.location將覆蓋默認值,而不是添加到默認值。 我們需要使用spring.config.additional-location來保持默認值。 因此,如果要覆蓋,請嘗試使用spring.config.location。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.