【发布时间】:2017-07-15 19:46:19
【问题描述】:
我有一个使用配置文件属性文件的 spring boot 1.5.1 项目。在我的 /src/main/resources 我有我所有的属性文件
使用 IntelliJ 2016.3.4 时,我设置了
运行配置 |活动档案
到“本地”并运行它。我在控制台中看到了这个:
以下配置文件处于活动状态:本地
但是属性文件中有值
data.count.users=2
并用作:
@Value("${data.count.users}")
private int userCount;
没有被拾取并因此导致错误:
原因:java.lang.IllegalArgumentException:无法解析 字符串值“${data.count.users}”中的占位符“data.count.users”
但是,如果我通过 gradle 运行它
bootRun {
systemProperty 'spring.profiles.active', System.properties['spring.profiles.active'] }
作为
gradle bootRun -Dspring.profiles.active=local
然后一切都按预期使用本地配置文件启动。谁能明白为什么没有正确拾取?在 IntelliJ 项目结构中,我将 /src/main/resources 定义为我的资源文件夹。
更新:
【问题讨论】: