错误"匹配的通配符是严格的,但是没有找到元素' context:annotation-config'"通过tomcat7

时间:2015-04-17 11:53:27

标签: java spring spring-mvc intellij-idea tomcat7

我遇到了奇怪的情况。 当我通过intellij idea运行我的项目时,使用以下配置 - clean install tomcat7:run -e - 一切都成功处理。

但是当我手动将.war文件复制到tomcat7目录并启动服务器时,我在tomcat日志中收到错误:

  

SEVERE:将上下文初始化事件发送给侦听器的异常   类的实例   org.springframework.web.context.ContextLoaderListener   org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:   来自ServletContext资源的XML文档中的第8行   [/WEB-INF/spring/spring.xml]无效;嵌套异常是   org.xml.sax.SAXParseException; lineNumber:8; columnNumber:33;   cvc-complex-type.2.4.c:匹配的通配符是严格的,但没有   可以在元素'context:annotation-config'找到声明。

这是我的spring.xml:

<?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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">

    <context:annotation-config/>
....

我找到了一些关于名称空间的解决方案,但它们对我不起作用。

2 个答案:

答案 0 :(得分:0)

好像你在war spring-context-4.1.x.RELEASE.jar目录中没有WEB-INF/lib

答案 1 :(得分:0)

我已经解决了这个问题。 我想,问题出在target文件夹中的缓存数据中。 执行以下命令mvn clean package后 - 问题就消失了。