匹配的通配符是严格的,但是没有为元素'resources'找到声明

匹配的通配符是严格的,但是没有为元素'resources'找到声明

问题描述:

我知道这是重复的,你们会因为它而责备我,但在阅读完所有帖子后我没有得到适当的解决方案。

我正在尝试构建一个Spring Template应用程序在Spring Source Tool Suite中。
我收到以下错误。

I know this is a duplicate and you people are gonna chide me for it, but I didn't get a proper solution after reading all the posts.
I am trying to build a Spring Template application in Spring Source Tool Suite. I am getting the following error.


org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:XML文档中的第16行来自ServletContext资源[/WB-INF/spring/appServlet/servlet-context.xml]无效;嵌套异常是org.xml.sax.SAXParseException:cvc-complex-type.2.4.c:匹配的通配符是strict,但是没有为元素'resources'找到声明。

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 16 in XML document from ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'resources'.

我的root-context.xml是这样的:

My root-context.xml is like this:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:cache="http://www.springframework.org/schema/cache"
    xmlns:ehcache="http://www.springmodules.org/schema/ehcache"
    xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
        http://www.springmodules.org/schema/ehcache http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.0.xsd">

    <!-- Root Context: defines shared resources visible to all other web components -->

</beans>

如果我的申请中缺少一个jar文件,请告诉我。

这些是我在我的应用程序中唯一的jar文件:

displaytag-1.0-b3.jar,spring-2.0.6.jar,spring-asm-3.0.3.RELEASE.jar,spring- beans-3.0.3.RELEASE.jar,spring-context-3.0.3.RELEASE.jar,spring-core-3.0.3.RELEASE.jar,spring-expression-3.0.3.RELEASE.jar,spring-hibernate3- 2.0.8.jar,spring-web-3.0.3.RELEASE.jar& spring-webmvc-3.0.3.RELEASE.jar

Please let me know if there is a jar file missing in my application.
These are the only jar files I have in my application:
displaytag-1.0-b3.jar, spring-2.0.6.jar, spring-asm-3.0.3.RELEASE.jar, spring-beans-3.0.3.RELEASE.jar, spring-context-3.0.3.RELEASE.jar, spring-core-3.0.3.RELEASE.jar, spring-expression-3.0.3.RELEASE.jar, spring-hibernate3-2.0.8.jar, spring-web-3.0.3.RELEASE.jar & spring-webmvc-3.0.3.RELEASE.jar

这是我的servlet-context.xml

Here is my 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-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <resources mapping="/resources/**" location="/resources/" />

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <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>

    <context:component-scan base-package="com.foo.controller" />



</beans:beans>

请帮忙......这真烦人。

Please help...it's really annoying.

您的XML很好,但根据关于春季MVC 3的SpringSource博客文章的评论

Your XML is fine, but according to this comment on a SpringSource blog post about Spring MVC 3


< mvc:resources /> 标签是Spring Framework 3.0.4中的新功能

The <mvc:resources/> tag is a new feature coming in Spring Framework 3.0.4

您的应用程序使用Spring 3.0.3,因此您需要升级到3.0.4或更高版本才能使用资源标记。

Your application uses Spring 3.0.3, so you need to upgrade to 3.0.4 or later to be able to use the resources tag.