我遇到了奇怪的情况。 当我通过以下配置通过intellij想法运行我的项目 - clean install tomcat7:run -e
- 一切进程都成功完成。错误“匹配的通配符是严格的,但没有声明可以找到元素的上下文:annotation-config'”通过tomcat7
但是,当我.war文件手动复制到tomcat7目录并启动服务器我在tomcat的日志得到一个错误:
严重:异常发送上下文初始化事件监听器类 组织的 实例。 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/>
....
我已经找到关于命名空间的一些解决方案,但他们没有为我工作。
不,我在我的war WEB-INF/lib目录中有这样的库 –
@ivan_ochc尝试使用ApplicationContextInitializer来禁用验证,以查看上下文文件是否被正确解析(使用方法ctx#setValidating) –