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定义为“资源文件夹”。
更新:
我在这里可能是错的,但是spring.profiles.active
无论您选择了什么作为“活动配置文件”,它看起来都不是在配置中实际设置了环境变量。这可能是IntelliJ的错误。
但是,在运行->编辑配置中设置环境变量绝对适合我。
heimdall
是否正确,即它是否包含显示的resources
文件夹以及您的application.properties
? 归档时间: |
|
查看次数: |
8820 次 |
最近记录: |