当前位置: 首页 > 知识库问答 >
问题:

Spring Boot类路径配置文件覆盖外部application.properties

国仰岳
2023-03-14
src/main/resources/application.properties
src/main/resources/application-dev.properties
src/main/resources/application-prod.properties

/this/is/an/external/dir/application-dev.properties
@EnableFeignClients
@SpringBootApplication
@EnableEncryptableProperties
@PropertySources({ //
    @PropertySource("classpath:application.properties"), //
    @PropertySource(value = "file:${external.config}", ignoreResourceNotFound = true) //
})
public class Application extends SpringBootServletInitializer {

   // ....
}
external.config=/this/is/an/external/dir/application-dev.properties

共有1个答案

穆旭尧
2023-03-14

只需更改导入顺序即可。类似于:

<context:property-placeholder file-encoding="UTF-8"
                            location="${YOUR_CUSTOM_PATH}/global.properties ,
                                      ${YOUR_CUSTOM_PATH}/local.properties" ignore-unresolvable="true"/>

@PropertySource(value = {"classpath:global.properties" , "local.properties"},ignoreResourceNotFound = true)

在这种情况下,local.properties重写global.properties的属性

 类似资料:
  • 我希望外部文件的属性覆盖内部值(如果它们存在于外部文件中)。 在我的configuration类中,我使用PropertySource注释设置文件:

  • 问题内容: 我有一个要求,要将所有logback配置都放在war文件之外。目前,我已将配置文件(logback.xml)放在类路径上。我正在使用JBOSS EAP Web应用程序服务器,请提出如何实现相同的建议。 问题答案: 进入jboss启动/运行脚本并添加以下选项: 的java -Dlogback.configurationFile = /路径/到/ config.xml中 chapters.

  • 我开发了Spring Boot 2.2.1应用程序。我有多个配置文件(应用程序-{provile}. yml)并使用liquibase自动迁移数据库。一切工作几乎正常(如果可以说Java,哈哈)。但是在正式生产环境中,我必须将配置文件作为外部yml文件从我们这边传递。 我正在执行以下shell以启动应用程序: 应用程序正在启动并且配置正确应用,除了liquibase。Liquibase使用类路径进

  • 我有一个启动应用程序,部署到一个外部tomcat服务器,一切工作在我的本地与本地数据库。现在,我必须将代码推广到数据库配置不同的更高环境。我读了很多关于配置文件的etc...,但是当它是一个外部tomcat并且不使用

  • 因为我在我的项目中添加了一个外部jar文件,所以log4j配置是从log4j中获取的。外部jar文件中的xml。log4j。我的应用程序中的xml配置未得到应用。 有没有办法覆盖log4j。xml配置,使我的应用程序log4j。xml被选中了? EAR结构: \lib\externalJar\log4j。xml \appweb。war\WEB-INF\classes\log4j。xml 我可以在日

  • 在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。 我正在尝试外部化log4j配置。application.properties是这样外部化的。 但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选