我有 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
并正常工作?
必须崩溃,因为我使用不存在的配置文件启动应用程序!
相反,我看到了具有其他属性的正在运行的应用程序!我该如何处理?
答案 0 :(得分:0)
在j
目录中启动应用程序application.yml
文件时,仍然会包含。
如果您在resources
目录中也有application-yourProfileName.yml
并添加
resources
参数,
然后两个属性文件都包括在内,并且注意,在这种情况下,--spring.profile.active=yourProfileName
会覆盖application-yourProfileName.yml
中的相同属性。
答案 1 :(得分:0)
除了应用程序的属性外,配置文件还可以通过更多方式使用。没有application-your-profile.{properties, yml}
也没关系。加载配置文件并不意味着加载属性文件。