当前位置: 首页 > 知识库问答 >
问题:

在spring boot中从命令行设置活动配置文件和配置位置

慕光赫
2023-03-14

我有spring boot的申请。

我的应用程序中有三个概要文件->开发、分期和生产。所以我有3个文件

  1. 应用程序-development.yml
  2. application-staging.yml
  3. 应用程序-production.yml

我的application.yml驻留在src/main/resources中。我已将application.yml中的活动配置文件设置为:

spring:
  profiles.active: development

其他3个配置文件特定的配置文件位于C:\config文件夹中。

我正在为Eclipse使用gradle插件。当我尝试执行“bootrun”时,我将eclipse中的gradle配置中的命令行参数设置为

 -Dspring.profiles.active=staging -Dspring.config.location=C:\Config

但是,命令行属性没有得到反映,我的活动配置文件总是被设置为development(这就是我在applications.yml文件中提到的那个配置文件)。另外,也不会在C:\config文件夹中搜索配置文件特定的配置文件。

我想我错过了什么。这两天我一直在想办法。但没有运气。我真的很感激任何帮助。

共有2个答案

屠建本
2023-03-14

我的最佳实践是将其定义为VM“-d”参数。请注意spring boot 1.x和2.x之间的区别。

可以在命令行上指定要启用的配置文件:

spring-boot2.x(仅适用于maven)

-Dspring-boot.run.profiles=local

spring-Boot 1.x

-Dspring.profiles.active=local

Maven的用法示例

spring-Boot 2.x

mvn spring-boot:run -Dspring-boot.run.profiles=local

spring-boot 1.x和2.x

mvn spring-boot:run -Dspring.profiles.active=local

对于多个配置文件,请确保用逗号分隔它们:

mvn spring-boot:run -Dspring.profiles.active=local,foo,bar
mvn spring-boot:run -Dspring-boot.run.profiles=local,foo,bar
饶骁
2023-03-14

有两种不同的方法可以在命令行上添加/重写spring属性。

重要的是,-d参数位于application.jar之前,否则它们将无法被识别。

java -jar -Dspring.profiles.active=prod application.jar
java -jar application.jar --spring.profiles.active=prod --spring.config.location=c:\config
 类似资料:
  • 问题内容: 我有一个Spring Boot应用程序。 我的应用程序中有三个配置文件-> 开发,暂存和生产。所以我有3个档案 应用程序开发 application-staging.yml application-production.yml 我的application.yml驻留在内部。我在application.yml中将活动配置文件设置为: 其他3个配置文件特定的配置文件位于文件夹中。 我正在使

  • 问题内容: 我正在尝试使用Maven 3 在Spring Boot应用程序中设置活动配置文件。在我的pom.xml中,将默认的活动配置文件和属性spring.profiles.active设置 为development: 但是每次我运行应用程序时,都会在日志中收到以下消息: 并且将SpringBoot配置文件设置为默认值(读取application.properties而不是application

  • 我有一个用maven作为构建工具的应用程序。 我正在使用maven概要文件从不同的概要文件设置不同的属性。 假设我运行带有out的maven,并指定我希望spring的任何其他概要文件,将和作为活动概要文件。

  • 下面是我的application.yml文件:

  • 如果未设置,我希望默认活动配置文件为。 Spring-boot版本=1.3.5。发行版

  • 问题内容: 我的Maven设置文件 〜/ .m2 / settings.xml中* 默认激活了 一个配置文件。 * 是否可以通过执行以下操作从命令行停用它: 问题答案: 是的,的确,您有正确的方法。从Maven配置文件用户指南 停用个人资料 从Maven 2.0.10开始,可以使用命令行停用一个或多个配置文件,方法是在其标识符前面加上字符’!’。或“-”,如下所示: 这可用于停用标记为active