我有5个环境:

 - local (my development machine)
 - dev
 - qc
 - uat
 - live
 - staging

我想为每个环境使用不同的应用程序属性,因此我有以下属性文件,每个文件都有不同的数据源URL:

 - application.properties  (containing common properties)
 - application-local.properties
 - application-dev.properties
 - application-qc.properties
 - application-uat.properties
 - application-live.properties

我正在使用IntelliJ并在我的本地机器上使用Gradle插件中的bootRun运行我的应用程序。我将使用在所有运行Tomcat的其他环境中部署相同的应用程序war文件。

我试着补充:

——spring.profiles.active =当地

到脚本参数下的运行配置。

我试着添加

-Dspring.profiles.active =当地

虚拟机选项下的“运行”配置。

既不工作。我在启动时一直看到INFO消息说:没有活动配置文件设置,回落到默认配置文件:默认

如果我运行我的应用程序从windows命令行使用

gradle bootRun

但我先设置环境变量

set SPRING_PROFILES_ACTIVE=local

然后一切正常。

所以我的问题是,当从IntelliJ运行bootRun时,我如何激活我的本地spring引导配置文件?


当前回答

你好,当我试图激活配置文件在编辑配置与spring.profiles。Active =local它不起作用 当我启动项目时,我有这个错误:

考虑以下几点: 如果你想要一个嵌入式数据库(H2, HSQL或Derby),请把它放在类路径中。 如果要从特定概要文件加载数据库设置,则可能需要激活它(概要文件spring.profiles。Active =本地当前是活动的)。

它不接收我的本地文件

其他回答

IntelliJ社区版2021.x测试

您可以创建多个配置,每个配置一个特定的概要文件,在下面的例子中,我已经创建了一个开发配置与开发概要文件环境变量。

执行>编辑配置 在左边的Application下面,选择要编辑的配置。 在右侧>在“环境变量”下更新spring.profiles。激活=<您的配置文件名称>示例 spring.profiles.active = dev (观察者:-变量应该没有- d标志) 保存更改并运行具有相同配置的Spring引导应用程序。

注意:-您也可以创建一个新的配置或复制上面步骤2中已有的配置,使用同一面板中的可用选项。

我添加了-Dspring.profiles。active=test到VM选项,然后重新运行该配置。它工作得很完美。

可以通过

选择“Run | Edit Configurations…” 进入“Configuration”页签 展开Environment部分以显示VM选项

你好,当我试图激活配置文件在编辑配置与spring.profiles。Active =local它不起作用 当我启动项目时,我有这个错误:

考虑以下几点: 如果你想要一个嵌入式数据库(H2, HSQL或Derby),请把它放在类路径中。 如果要从特定概要文件加载数据库设置,则可能需要激活它(概要文件spring.profiles。Active =本地当前是活动的)。

它不接收我的本地文件

我使用的是Intellij社区版。 进入“运行/调试配置”> Runner选项卡>环境变量>单击“…”按钮。添加: SPRING_PROFILES_ACTIVE = local

spring.profiles.active

在我的情况下,我在IntelliJ的VM选项中使用了下面的配置,它不是选择本地配置,但在IntelliJ重新启动后,它从IntelliJ中选择配置细节,服务开始运行。

-Dspring.profiles.active=local