作者:狂风 | 来源:互联网 | 2023-02-10 18: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 =本地
然后一切都会按照预期使用本地配置文件启动。谁能看到为什么没有正确地找到它?在IntelliJ项目结构中,我将/ src / main / resources定义为“资源文件夹”。
更新:
添加配置屏幕截图:
1> Jay..:
我在这里可能是错的,但是spring.profiles.active
无论您选择了什么作为“活动配置文件”,它看起来都不是在配置中实际设置了环境变量。这可能是IntelliJ的错误。
但是,在运行->编辑配置中设置环境变量绝对适合我。