我有一个弹簧引导应用程序。

我的应用程序中有三个概要文件——>开发、登台和生产。我有3个文件

application-development.yml application-staging.yml application-production.yml

我的应用程序。Yml位于src/main/resources中。我已经在应用程序中设置了活动配置文件。Yml为:

spring:
  profiles.active: development

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

我正在为eclipse使用gradle插件。当我尝试做一个“bootRun”,我设置命令行参数在我的gradle配置在eclipse为

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

然而,命令行属性没有得到反映,我的活动概要文件总是被设置为开发(这是我在应用程序中提到的一个)。yml文件)。此外,C:\Config文件夹不会搜索配置文件特定的配置文件。

我想我遗漏了一些东西。过去两天我一直在想这件事。但运气不好。我非常感激你的帮助。


当前回答

您可以使用以下命令行:

java -jar -Dspring.profiles.active=[yourProfileName] target/[yourJar].jar

其他回答

当通过Maven插件设置配置文件时,你必须通过run.jvmArguments来完成

mvn spring-boot:run -Drun.jvmArguments="-Dspring.profiles.active=production"

带有调试选项:

mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Dspring.profiles.active=jpa"

我看过很多人的旅行,希望能有所帮助

这将解决你在windows上的问题:

mvn spring-boot:run -D"spring-boot.run.profiles"=env

您可以使用以下命令行:

java -jar -Dspring.profiles.active=[yourProfileName] target/[yourJar].jar
-Dspring.profiles.active=staging -Dspring.config.location=C:\Config

不正确。

应该是:

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

我在intellij上这样做的一种方法是在命令上设置一个环境变量,如下所示:

在这种情况下,我设置配置文件测试