今天调试一个程序无法正常运行,报如下错误(在联网的情况,该程序运行正常):
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from ServletContext resource [/WEB-INF/classes/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.  
Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.  
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)  
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)  
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)  
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)  
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:73)  
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:361)  
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)  
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)  
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)  
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)  
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)  
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)  
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)  
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:394)  
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)  
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)  
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)  
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)  
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3795)  
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4252)  
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)  
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)  
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)  
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)  
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)  
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)  
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)  
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
    at java.lang.reflect.Method.invoke(Unknown Source)  
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)  
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)  
--------------------------------------------------------------------------------------------
applicationContext.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"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" >  
----------------------------------------------------------------------------------------
 我判断是没有拼接网络的原因,请问大家该如何处理这种问题呢?谢谢

解决方案 »

  1.   

    个人觉得是spring的jar包版本问题,去找下spring-beans-2.5.xsd这个文件看下吧
      

  2.   

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_12-b04 (Sun Microsystems Inc.)
    Implementation-Title: Spring Framework
    Implementation-Version: 2.0.8
    Spring-Version: 2.0.8
    Premain-Class: org.springframework.instrument.InstrumentationSavingAgent是不是应该将 Spring-Version: 2.0.8  替换成 2.5版本呀
      

  3.   

    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
      "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans></beans>
      

  4.   

    hi  兄弟,我曾今碰到一个和你类似的问题:struts.xml开头也有一些DTD或者称作schema的东东,我在部署项目是只要一断网,就报异常,联网就没问题,后来我发现,是部署项目是,Tomcat会分别加载struts-default.xml,struts-pluing.xml以及struts.xml在加载struts.xml中需要download“struts-2.0.dtd”文件。
    请看下面的对比:修改前:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC 
      "-//Apache Software Foundation// DTD Struts Configuration 2.0//EN" 
      "http://struts.apache.org/dtds/struts-2.0.dtd">修改后:
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC 
      "-//Apache Software Foundation// DTD Struts Configuration 2.0//EN" 
      "D:\struts-2.0.dtd">主要就是将http://struts.apache.org/dtds/struts-2.0.dtd链接换成了一个本地磁盘上的路径了(我将struts-2.0.dtd文件下载下来了,直接引用的)希望对你有帮助!
      

  5.   


    跟你当前使用的jar版本要一致