即使使用不存在的配置文件启动,Spring引导也会启动

时间:2019-04-18 11:56:06

标签: spring-boot yaml spring-profiles

我有 spring boot应用程序-server.jar,具有以下结构:

-resources
 -application.yaml

构建之后,我创建一个名为source的文件夹。然后把我的罐子放到这个文件夹。另外,我创建了起始.bat文件

-source
 -server.jar
 -start.bat

start.but中,我接下来写的文件:

java -Dspring.profiles.active="foofoofoo" -jar server.jar
pause

当我运行start.bat时,我的服务器以日志开头:

The following profiles are active: foofoofoo

并使用application.yaml中的属性。我没有名称为foofoofoo的个人资料,也没有apllication-foofoofoo.yaml。为什么?为什么spring会写它加载foofoofoo配置文件,加载application.yaml并正常工作?

必须崩溃,因为我使用不存在的配置文件启动应用程序!

相反,我看到了具有其他属性的正在运行的应用程序!我该如何处理?

2 个答案:

答案 0 :(得分:0)

j目录中启动应用程序application.yml文件时,仍然会包含

如果您在resources目录中也有application-yourProfileName.yml并添加

resources参数,

然后两个属性文件都包括在内,并且注意,在这种情况下,--spring.profile.active=yourProfileName会覆盖application-yourProfileName.yml中的相同属性。

答案 1 :(得分:0)

除了应用程序的属性外,配置文件还可以通过更多方式使用。没有application-your-profile.{properties, yml}也没关系。加载配置文件并不意味着加载属性文件。