通配符的匹配很全面, 但无法找到元素 'context:annotation-config' 的声明。

时间:2022-06-06 06:30:32
这是错误信息
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 19 in XML document from ServletContext resource [/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 19; columnNumber: 31; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'context:annotation-config' 的声明。
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5110)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5633)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1694)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1684)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.xml.sax.SAXParseException; lineNumber: 19; columnNumber: 31; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'context:annotation-config' 的声明。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1917)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:766)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:355)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2770)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
... 22 more

十月 16, 2017 5:52:27 下午 org.apache.catalina.core.StandardContext startInternal




这是applicationContext.xml配置信息
通配符的匹配很全面, 但无法找到元素 'context:annotation-config' 的声明。
项目有的时候可以起来,但有的时候起不来,报上面的错误,同事说是网络问题,等一会就好了,有的时候等一会确实会好,但有的时候,等好久也起不来,clean项目,重启电脑,重启eclipse都没用,不知道那位大神懂这个问题,还望指点一二。

6 个解决方案

#1


你表头xmlns少了,百度一下问题就解决了

#2


为什么有两个beans节点?第2和第13行

#3


对,我也发现了,怎么吃出现了两个beans节点的声明,先把重复的beans节点删掉,在试试

#4


引用 2 楼 sanjuejianke 的回复:
为什么有两个beans节点?第2和第13行


那个我启动的时候是要注释掉的,只是截图到帖子上忘记注释了。
问题解决了:就是把第8行和10行最后的-4.3(版本号)去掉就好了,虽然本地有包,但启动的时候还是要走网络,谢谢各位。

#5


楼上的都是瞎猜的,一看就是没有遇见过这样的问题,只是根据情况进行分析。但是这个坑爹的事情,我遇见过。原因有两个,一个是在正常的互联网环境下,程序好好的突然出现这种情况,是因为Spring的服务器大姨妈了,没错,不要质疑,就是服务器大姨妈的,不用管它,过一会就会自己好,有时候半个小时,有时候一两个小时不定,这个问题我碰到起码两三次。而第二个情况则是,不在互联网的环境下时候发生的,其实跟第一种情况一曲同归,Spring的设置是在加载配置文件的时候,优先从互联网上加载相关内容,如果加载不了,则在本地的jar包中去读取相关的,所以在不是互联网的环境下,且这些头文件对应版本号在本地的jar包中也没有,那么就会出这个问题。所以,如果要解决这个问题,很简单,让自己配置文件里的头信息的版本号,和jar包中的对应上,这样就无惧spring服务器大姨妈或者是内网环境等。

#1


你表头xmlns少了,百度一下问题就解决了

#2


为什么有两个beans节点?第2和第13行

#3


对,我也发现了,怎么吃出现了两个beans节点的声明,先把重复的beans节点删掉,在试试

#4


引用 2 楼 sanjuejianke 的回复:
为什么有两个beans节点?第2和第13行


那个我启动的时候是要注释掉的,只是截图到帖子上忘记注释了。
问题解决了:就是把第8行和10行最后的-4.3(版本号)去掉就好了,虽然本地有包,但启动的时候还是要走网络,谢谢各位。

#5


楼上的都是瞎猜的,一看就是没有遇见过这样的问题,只是根据情况进行分析。但是这个坑爹的事情,我遇见过。原因有两个,一个是在正常的互联网环境下,程序好好的突然出现这种情况,是因为Spring的服务器大姨妈了,没错,不要质疑,就是服务器大姨妈的,不用管它,过一会就会自己好,有时候半个小时,有时候一两个小时不定,这个问题我碰到起码两三次。而第二个情况则是,不在互联网的环境下时候发生的,其实跟第一种情况一曲同归,Spring的设置是在加载配置文件的时候,优先从互联网上加载相关内容,如果加载不了,则在本地的jar包中去读取相关的,所以在不是互联网的环境下,且这些头文件对应版本号在本地的jar包中也没有,那么就会出这个问题。所以,如果要解决这个问题,很简单,让自己配置文件里的头信息的版本号,和jar包中的对应上,这样就无惧spring服务器大姨妈或者是内网环境等。