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

Isa*_*acK 1 gradle gradlew spring-boot

我正在尝试从 maven 学习使用 gradle 和 springboot,所以我想知道如何在命令行中运行我的项目以获取不同的配置文件。这里的场景是我有我的属性,例如。

application-qa.propertiesapplication.properties

但是如果用类似的东西运行 gradle ./gradlew -PspringProfile=qa bootRun

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

我如何像以前使用 Maven 一样使用 gradle 来实现这一点?

这是我尝试过的。我在 IntelliJ 中创建了 gradle run 配置,但这也不起作用,

有命令行选项吗?

在 Intelij 中运行配置

Bjø*_*ter 5

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

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

A

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

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

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

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

bootRun {
    environment('spring.profiles.active', 'qa')
}
Run Code Online (Sandbox Code Playgroud)

如果您在使用 Gradle 中的 bootRun 任务时始终在同一环境中运行,那么这是有意义的。

C

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