Java spring.config.location-使用多个文件重载属性

Java spring.config.location-使用多个文件重载属性,java,spring,configuration,Java,Spring,Configuration,我正在尝试配置我的Spring应用程序 我在/src/main/resources中有我的文件application.yml。在我的主类中没有@PropertySource注释(但我也尝试过使用它) 我的Windows上还有另一个文件(/c/Programs/application.yml)具有类似的内容(某些值被覆盖) 我必须使用以下cmd调用运行应用程序(我的组织不希望我使用另一个调用,因为它是CI/CD标准流程的一部分): 我的/src/main/resrces/application.y

我正在尝试配置我的Spring应用程序

我在
/src/main/resources
中有我的文件
application.yml
。在我的主类中没有
@PropertySource
注释(但我也尝试过使用它)

我的Windows上还有另一个文件(
/c/Programs/application.yml
)具有类似的内容(某些值被覆盖)

我必须使用以下cmd调用运行应用程序(我的组织不希望我使用另一个调用,因为它是CI/CD标准流程的一部分):

我的
/src/main/resrces/application.yml
文件包含在构建应用程序后的
.jar
中。使用上面的cmd运行应用程序使用
资源中的键,而不是第二个文件中的键

我花了几个小时试图解决这个问题:

  • 对于两个文件
    spring.config.location
    ,第二个文件覆盖第一个文件的值
  • 文件应以逗号分隔
  • 当我指定单个文件(而不是目录)时,我不必使用
    spring.config.name

  • 我的配置有什么问题?如何使用外部文件覆盖资源中的文件?

    请参阅@user7294900谢谢-我在那里找到了关于多个文件的信息,但我无法在我的项目中使用它。请尝试
    java-Dspring.config.location=classpath/application.yml,file:c/Programs/application.yml
    它仍然使用
    classpath:/application.yml
    ,作为默认属性文件。使用
    spring.config.additional location=file:/c:/programs/
    spring引导将自动从该位置加载
    application.yml
    java -Dspring.config.location=classpath:/application.yml,/c/Programs/application.yml -jar app.jar