簡體   English   中英

Spring Boot外部配置覆蓋不起作用

[英]Spring boot external config override isnt working

我的資源文件夾中有一個application.ymlapplication-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM