web项目启动时xml解析错误,具体错误信息如下:
Offending resource: URL [jar:file:/usr/local/tomcat/webapps/ROOT/WEB-INF/lib/****-config-3.0.3-SNAPSHOT.jar!/spring-com/applicationContext-appcontext.xml]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 15 in XML document from file [/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/spring-sub/applicationContext-mq.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 53; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'rabbit:queue'.
09:24:14.446 [localhost-startStop-1] ERROR org.springframework.web.context.ContextLoader 312 initWebApplicationContext - Context initialization failed
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:240)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:521)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
报错的配置文件如下:
经排查是由于项目中引用的rabbitmq的版本和xml配置文件的约束文件中的版本不一样导致的,将xml的约束文件修改了之后,重启项目,问题解决了.
修改前后的配置文件对比如下: