如何使用Gradle + Spring boot运行多个配置文件?

时间:2019-09-20 14:29:34

标签: spring-boot gradle gradlew

我正在尝试从maven学习如何将gradle与springboot一起使用,因此我想知道如何在命令行中运行我的项目以选择其他配置文件。 这里的情况是我有我的属性,例如。

  

application-qa.properties application.properties

但是如果使用./gradlew -PspringProfile=qa bootRun

它仅加载 application.properties 中的默认属性,而不加载qa属性。

我如何像以前的Maven一样使用gradle来完成此任务?

这是我尝试过的。 我在IntelliJ中创建了gradle run配置,但这还行不通,

是否有一个命令行选项?

Run Config in Intelij

1 个答案:

答案 0 :(得分:2)

首先,正如另一位用户在对问题的评论中所说,您使用的参数名称不正确。

但是,此外,您不能通过-P设置具有项目属性的活动配置文件(至少不是开箱即用)。您还有其他选择。

A

使用--spring.profiles.active=qa作为这样的参数:

gradlew bootRun --args='--spring.profiles.active=qa'

我认为您不能将这种类型的参数放入IntelliJ运行配置的“参数”列表中,但是可以根据需要直接将其放入“任务”值中。但这有点奇怪。

B

通过Gradle运行时,默认使用Gradle构建文件中的特定环境:

bootRun {
    environment('spring.profiles.active', 'qa')
}

如果在使用Gradle中的bootRun任务时始终在相同的环境下运行,这很有意义。

C

在本地计算机或IntelliJ运行配置中设置环境变量spring.profiles.active=qa