如何在Intellij IDEA社区版本中为Gradle Spring Boot项目设置spring.config.location?

时间:2019-06-20 09:37:38

标签: java spring spring-boot gradle intellij-idea

我想在Intellij IDEA社区版本中使用Gradle在Java Spring Boot项目中配置spring.config.locationspring.config.additional-location。它是在IDE中单击绿色的小箭头按钮而不是从java -jar等命令行中运行的。

基本上,我们希望在src/main/resources/config下添加另一个文件夹层次结构,以同时加载src/main/resources/config/a/src/main/resources/config/b/文件夹。

我们尝试过的全部失败了:

  • 设置虚拟机选项-Dspring.config.location=classpath:/config/a/
  • 将其传递到终端gradle test运行
  • 在IDE“编辑配置”中的Run configuration中设置环境变量:spring.config.location=classpath:/config/a/,classpath:/config/b/

有什么主意吗?我使用社区版本,因此在Enterprise或Ultimate版本中没有Spring Boot支持。

“不起作用”表示gradle test无法通过。

1 个答案:

答案 0 :(得分:1)

您可以通过环境变量进行设置:

SPRING_CONFIG_LOCATION=classpath:/config/a/,classpath:/config/b/

请注意,“ spring.config.location”是JVM参数的名称,但是环境变量是使用大写字母和下划线编写的。

编辑:

我不完全知道,如果按照您的说明进行配置,gradle不会选择您的VM选项。如果要使用gradle bootRun运行它,则可以在build.gradle中添加以下内容,以在使用bootRun运行时将VM选项传递给应用程序:

bootRun {
  systemProperties = System.properties
}

反之,如果只想单击绿色箭头来运行它,也许应该在IntelliJ的Gradle settings中配置VM选项。