Spring Boot 忽略 "ignoreUnresolvablePlaceholders" = true。

3

我正在使用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">

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

1
也许这个链接http://www.baeldung.com/properties-with-spring可以帮到你。同时,你也可以看一下这个问题:https://dev59.com/gWYq5IYBdhLWcg3wwDNA - Kees de Kooter
1个回答

1

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

@Configuration
@PropertySource(name="unknown",                
                value="classpath:${unresolvable}/unknown.properties",
                ignoreResourceNotFound=true)
public class SpringPropertySourceIgnoreUnresolvableErrorExample {
    //....
}

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接