IntelliJ IDEA无法获取正确的application-{}。properties文件

son*_*rin 4 intellij-idea spring-boot

我有一个使用配置文件属性文件的spring boot 1.5.1项目。在我的/ src / main / resources中,我拥有所有属性文件 在此处输入图片说明

使用IntelliJ 2016.3.4时

运行配置| 活动资​​料

到“本地”并运行它。我在控制台中看到了这一点:

下列配置文件处于活动状态:本地

但是属性文件中有一个值 data.count.users=2

并用作:

@Value("${data.count.users}")
private int userCount;
Run Code Online (Sandbox Code Playgroud)

没有被拾取,从而导致错误:

原因:java.lang.IllegalArgumentException:无法解析字符串值“ $ {data.count.users}”中的占位符“ data.count.users”

但是,如果我通过gradle运行它

bootRun {
  systemProperty 'spring.profiles.active', System.properties['spring.profiles.active'] }
Run Code Online (Sandbox Code Playgroud)

gradle bootRun -Dspring.profiles.active =本地

然后一切都会按照预期使用本地配置文件启动。谁能看到为什么没有正确地找到它?在IntelliJ项目结构中,我将/ src / main / resources定义为“资源文件夹”。

更新:

添加配置屏幕截图: 在此处输入图片说明

Jay*_*Jay 5

我在这里可能是错的,但是spring.profiles.active无论您选择了什么作为“活动配置文件”,它看起来都不是在配置中实际设置了环境变量。这可能是IntelliJ的错误。

但是,在运行->编辑配置中设置环境变量绝对适合我。

在此处输入图片说明


Yan*_*ron 1

  1. Pease 将 Spring 方面添加到您的 Spring Boot 模块以获得全面支持
  2. 模块的类路径heimdall是否正确,即它是否包含显示的resources文件夹以及您的application.properties
  3. 如果这没有帮助,请在我们的 bugtracker 中提交一个最小的示例项目,重现您的项目的确切结构,有太多变量需要调查https://youtrack.jetbrains.com/issues/IDEA

  • 第1步怎么做? (7认同)