spring的xml配置文件报错:
在xml中使用util:map使用util:map时报错:
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'util:map'.
<util:map>
<!-- ... -->
</util:map>
很明显,是xsd的原因,开头已经声明了:
xmlns:util="http://www.springframework.org/schema/util"
查看http://www.springframework.org/schema/util/spring-util.xsd,可以看到存在map的声明,没什么问题。
之后查明原因,是xsi:schemaLocation中的xsd写错了:
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util/spring-util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
修改为:
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
原因分析,配置错了xsd的声明,导致正确的xsd没有被引入。