我遇到了奇怪的情況。 當我通過以下配置通過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) –