Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有方法覆盖application.properties文件中spring.profiles.active的值?_Spring_Gradle - Fatal编程技术网

是否有方法覆盖application.properties文件中spring.profiles.active的值?

是否有方法覆盖application.properties文件中spring.profiles.active的值?,spring,gradle,Spring,Gradle,我在application.properties文件中设置了如下默认配置文件: spring.profiles.active=production 但我希望通过使用以下命令,可以使用另一个(测试或开发)更改生产配置文件: gradle -Pspring.profiles.active=production bootRun 目前,始终加载生产配置文件(application.properties文件中设置的配置文件)。我读到这是不可能的,但我认为这必须有一个解决办法。。。有人能帮我吗?谢谢 您

我在application.properties文件中设置了如下默认配置文件:

spring.profiles.active=production
但我希望通过使用以下命令,可以使用另一个(测试或开发)更改生产配置文件:

gradle -Pspring.profiles.active=production bootRun
目前,始终加载生产配置文件(application.properties文件中设置的配置文件)。我读到这是不可能的,但我认为这必须有一个解决办法。。。有人能帮我吗?谢谢

您可以按照以下步骤操作: 我最后做了以下几件事:

run {
  systemProperties = System.properties
}
现在命令

gradle bootRun -Dspring.config.location=/somewhere/application.properties
工作

或者,也可以使用环境变量: 资料来源:


也为我工作。在第一个解决方案中,如果您没有在命令行中提供一个已定义的概要文件,那么bootRun任务将失败。但在第二个示例中,它从application.properties加载概要文件。因此,我将使用第二种解决方案。

您可以为此添加一个环境变量。 在Mac上,可以这样做

export SPRING_PROFILES_ACTIVE=production

完成此操作后,您应该能够运行应用程序。我自己用gradle试过这个,它在使用
gradle bootRun

时运行得非常好,谢谢你的重播,但对我来说不起作用。相反,我找到了另一种解决方法:project.gradle.projectsEvaluated{applicationDefaultJvmArgs=[“-Dspring.profiles.active=${project.gradle.startParameter.systemPropertiesArgs['spring.profiles.active']}}好的!你能用你的解决方案发布答案吗?我正在编辑我的第一条评论,以便在你写评论时添加解决方案。。。现在,它是可用的。:)
bootRun { systemProperties['spring.profiles.active']=project.gradle.st‌​artParameter.systemP‌​ropertiesArgs['sprin‌​g.profiles.active']; }
export SPRING_PROFILES_ACTIVE=production