今天在编写个人主页的时候 遇到一个问题
那就是有多个配置文件通过<context:property-placeholder/>引入
但是在启动tomcat后一直报如下错误
java.lang.IllegalArgumentException: Could not resolve placeholder '*' in value "*"
后来经过一番资料的查询之后,发现是因为在加载的时候,加载了第一个<context:property-placeholder/>,就不会加载第二个了。
所以就会导致第二个配置文件没有被引入,也就报了如下错误:
java.lang.IllegalArgumentException: Could not resolve placeholder '*' in value "*"
错误引入方式:
<context:property-placeholder location="classpath:uploadConfig.properties" />
<context:property-placeholder location="classpath:jdbc.properties" />
如上所示,直接写多个<context:property-placeholder>标签是会报错的。
注:即便是写在不同的xml里面,只要最终被application-context.xml的<import>标签所引入,都是会报错的。
正确的做法追加一个ignore-unresolvable属性,每个property-placeholder都需要加。
修改后的引入方式:
<context:property-placeholder location="classpath:uploadConfig.properties" ignore-unresolvable="true" />
<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true" />
我的个人博客:点击进入我的个人博客