The matching wildcard is strict, but no declaration can be found for element

John Smith picture John Smith · Sep 1, 2012 · Viewed 21.8k times · Source

I'm using Springsource Tools Suite 3 and trying to implement interceptions. That's the code and errors are commented:

servlet-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<annotation-driven />

<resources mapping="/resources/**" location="/resources/" />

<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
</beans:bean>

<beans:bean id="authInterceptor" class="com.bank.accounting.authentication.AuthInterceptor" />
<beans:bean id="authUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

Unexpected failure during bean definition parsing: Configuration problem: Cannot locate BeanDefinitionParser for element [list]

    <beans:property name="interceptors">
        <list>

The matching wildcard is strict, but no declaration can be found for element 'list'.

            <ref bean="authInterceptor" />
        </list>
    </beans:property>
    <beans:property name="mappings">
        <props>

The matching wildcard is strict, but no declaration can be found for element 'props'.

            <prop key="/home">HomeController</prop>
        </props>
    </beans:property>
</beans:bean>
<beans:bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

Unexpected failure during bean definition parsing: Configuration problem: Cannot locate BeanDefinitionParser for element [props]

    <beans:property name="mappings">
        <props>

The matching wildcard is strict, but no declaration can be found for element 'props'.

            <prop key="/login">LoginController</prop>
        </props>
    </beans:property>
</beans:bean>
</beans:beans>

Answer

Tomasz Nurkiewicz picture Tomasz Nurkiewicz · Sep 1, 2012

<list> and <ref> tags belong to util namespace. Add it first:

xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"

And then prefix these declarations appropriately:

<util:list>
  ...

You may also try with <beans:util>.