【问题标题】:Spring boot ignores "ignoreUnresolvablePlaceholders" = trueSpring Boot 忽略“ignoreUnresolvablePlaceholders”= true
【发布时间】:2016-09-04 09:10:23
【问题描述】:

我的 Spring Boot 应用程序忽略了我在 config.xml 文件中设置为 true 的 ignoreUnresolvablePlaceHolders 时遇到问题。

我明确设置了这些选项:

<property name="ignoreUnresolvablePlaceholders" value="true" />
<!-- <property name="localOverride" value="false" /> -->
<property name="ignoreResourceNotFound" value="true" />

它在 Junit 中运行良好,但是当我将我的应用程序作为 Spring Boot 运行时,它会引发 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 在启动时。

当我像这样添加 Spring Profiles 时,一切都开始失败:

<beans profile="default,dev">

任何帮助将不胜感激...

【问题讨论】:

标签: java spring-boot spring-profiles spring-properties


【解决方案1】:

默认情况下,如果 SpringBoot 无法读取属性文件,则会抛出错误。如果您希望它忽略不可解析的属性源并且不引发任何错误,则将属性 ignoreResourceNotFound 设置为 true 或将属性 ignoreUnresolvablePlaceHolders 设置为 true,如下所示。

@配置

@PropertySource(name="未知",
value="classpath:${unresolvable}/unknown.properties",

                ignoreResourceNotFound=true)

公共类 SpringPropertySourceIgnoreUnresolvableErrorExample {

//....

}

更多信息,您可以参考以下链接 https://www.javarticles.com/2016/01/spring-propertysources-annotation-example.html

【讨论】:

    猜你喜欢
    • 2014-11-25
    • 1970-01-01
    • 2017-05-04
    • 2015-08-03
    • 2023-03-15
    • 2016-08-19
    • 2018-06-22
    • 2016-08-01
    • 2017-11-19
    相关资源
    最近更新 更多