我在application.properties文件中设置了默认配置文件,如下所示:
spring.profiles.active=production
但是我希望能够使用以下命令更改另一个(测试或开发)的生产配置文件:
gradle -Pspring.profiles.active=production bootRun
目前,始终加载生产概要文件(在application.properties文件中设置)。我读到这是不可能的,但我认为这必须是一个解决方法......任何人都可以帮助我吗?谢谢!
答案 0 :(得分:0)
我最终做了以下事情:
run { systemProperties = System.properties }
现在命令
gradle bootRun -Dspring.config.location=/somewhere/application.properties
作品。
SPRING_PROFILES_ACTIVE=test gradle bootRun
来源:
答案 1 :(得分:0)
bootRun { systemProperties['spring.profiles.active']=project.gradle.startParameter.systemPropertiesArgs['spring.profiles.active']; }
也为我工作。在第一个解决方案中,如果您未在命令行中输入其中一个已定义的配置文件,则bootRun任务将失败。但在第二个中,它从application.properties加载配置文件。所以,我将使用第二种解决方案。
答案 2 :(得分:0)
您可以为此添加一个环境变量。 在Mac上,这可以像这样完成
exsl
完成此操作后,您应该可以运行您的应用程序了。我自己使用gradle尝试了这一点,并且使用export SPRING_PROFILES_ACTIVE=production