我有一个弹簧启动应用程序。
我的 application-> development, staging and production 中有三个配置文件。所以我有3个文件
我的 application.yml 位于src/main/resources. 我已将 application.yml 中的活动配置文件设置为:
src/main/resources
spring: profiles.active: development
其他 3 个配置文件特定的配置文件存在于C:\config文件夹中。
C:\config
我正在为 Eclipse 使用 gradle 插件。当我尝试执行“ bootRun ”时,我在 eclipse 的 gradle 配置中将命令行参数设置为
-Dspring.profiles.active=staging -Dspring.config.location=C:\Config
但是,命令行属性没有得到反映,我的活动配置文件总是被设置为开发(这是我在 applications.yml 文件中提到的那个)。此外,不会在 C:\Config 文件夹中搜索配置文件特定的配置文件。
我想我在这里遗漏了一些东西。在过去的两天里,我一直在试图弄清楚。但没有运气。我真的很感激任何帮助。
我不得不添加这个:
bootRun { String activeProfile = System.properties['spring.profiles.active'] String confLoc = System.properties['spring.config.location'] systemProperty "spring.profiles.active", activeProfile systemProperty "spring.config.location", "file:$confLoc" }
现在 bootRun 获取配置文件和配置位置。
非常感谢@jst 的指针。