我將我的Spring Boot應用程序作爲WAR文件部署在Tomcat中。我期待我的application-local.properties覆蓋也存在於我的application.properties文件中的值。但是,似乎只有在application.properties中不存在這些鍵時纔會讀取application-local.properties中的值。我application.properties文件放在src /主/資源我的項目/和application-local.properties位於$ {}的catalina.home/property_files/COM /演示/ config文件夾Spring @PropertySources值不是重寫
的context.xml
<Parameter name="spring.profiles.active" value="local" override="false"/>
catalina.properties
shared.loader=${catalina.home}/property_files
AppConfig.java
@Configuration
@PropertySources({
@PropertySource("classpath:application.properties"),
@PropertySource("classpath:com/demo/config/application-${spring.profiles.active}.properties")
})
public class AppConfig extends WebMvcConfigurerAdapter {
}
編輯1:實際上,我的環境依賴屬性文件正在加載。但它不覆蓋內部屬性文件中的任何值。
編輯2:感謝您的所有建議。但是我發現我的問題是由目錄優先權造成的。原來,根類路徑上的屬性文件比任何屬性文件具有更高的優先級,無論它們被聲明的順序如何。
基本上,我只是想使用src /主/資源/本地application.properties發展中的價值可以被另一個不同的環境(開發集成,QA,UAT,生產)上的另一個屬性文件覆蓋。 –