如何使用 Gradle + Spring boot 运行多个配置文件? [复制]
Posted
技术标签:
【中文标题】如何使用 Gradle + Spring boot 运行多个配置文件? [复制]【英文标题】:How can I run multiple profiles with Gradle + Spring boot? [duplicate] 【发布时间】:2020-01-21 15:04:56 【问题描述】:我正在尝试从 maven 学习使用带有 springboot 的 gradle,所以我想知道如何在命令行中运行我的项目以获取不同的配置文件。 这里的场景是我有我的属性,例如。
application-qa.properties 和 application.properties
但是,如果使用 ./gradlew -PspringProfile=qa bootRun
之类的东西运行 gradle
它仅加载 application.properties 中的默认属性,而不加载 qa 属性。
我如何像之前使用 maven 一样使用 gradle 来实现这一点?
这是我尝试过的。 我在 IntelliJ 中创建了 gradle 运行配置,但这也没有用,
有命令行选项吗?
【问题讨论】:
属性名称是spring.profiles.active
,而不是springProfile
@ThisIsNoZaku,已更改为默认值,但仍会选择默认值
【参考方案1】:
首先,正如另一位用户在 cmets 中对您的问题所说,您没有使用正确的参数名称。
但此外,您不能通过-P
使用项目属性设置活动配置文件(至少不是开箱即用的)。您还有其他一些选择。
一个
使用--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
。
【讨论】:
谢谢。正在寻找选项 A以上是关于如何使用 Gradle + Spring boot 运行多个配置文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Gradle > 如何停止使用 gradle bootRun 启动的 Spring Boot 应用程序?
如何使用 gradle 6+ 和 java 11+ 在 Spring Boot 中配置 spock
如何在 Eclipse 中使用 Gradle 运行 Cucumber + Spring Boot 应用程序
Spring-boot 和 Gradle:构建时间太长 - 如何调试?