spring - 从 IntelliJ 运行时如何激活 Spring Boot 配置文件?

标签 spring intellij-idea gradle spring-boot

我有 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=local

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

我已经尝试添加

-Dspring.profiles.active=local

到VM选项下的运行配置。

都不行。我一直在启动时看到 INFO 消息:没有设置事件配置文件,回退到默认配置文件:默认

如果我使用

从 Windows 命令行运行我的应用程序
gradle bootRun

但是我先设置环境变量

set SPRING_PROFILES_ACTIVE=local

然后一切正常。

所以我的问题是,如何在从 IntelliJ 运行 bootRun 时激活我的本地 Spring Boot 配置文件?

最佳答案

我将 -Dspring.profiles.active=test 添加到 VM Options,然后重新运行该配置。效果很好。

可以设置

  • 选择运行 |编辑配置...
  • 转到配置标签
  • 展开 Environment 部分以显示 VM 选项

关于spring - 从 IntelliJ 运行时如何激活 Spring Boot 配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39738901/

相关文章:

spring - 如何在 spring oauth2 OAuth2AccessToken 请求或如何覆盖 OAuth2AccessTokenSupport restTemplate 变量上设置代理?

gradle - 在 Gradle 构建中添加模块名称

gradle - 发布(rootproject)pom而没有(rootproject)发布神器/打包=pom

java - 如何使用shadowJar gradle插件而不是maven发布将fat JAR发布到JitPack

java - Spring用maven,jar打包,不显示welcome.jsp页面

java - 添加 mvc 命名空间时 Spring-MVC 不起作用

Spring Mongodb 查询(如果 id 不为空)

java - com.rest Api.java.jpa.UserDao Service CommandLineRunner 中的字段 userDAOService 需要类型为 'service.UserDAOService' 的 bean,但无法找到

java - 如何在 IntelliJ(开发模式)中刷新 GWT 的服务器代码?

ubuntu - 如何在 Ubuntu 上的 PhpStorm 中使用 PHP 代码中的引号