项目比较乱,有spring2,也有spring3的jar包,在web.xml文件里加载了spring相关配置文件,但用resin跑死活就是报初始化异常,web.xml代码如下:<context-param>  
     <param-name>contextConfigLocation</param-name>  
     <param-value>/WEB-INF/spring-servlet.xml,classpath*:cfg/*.xml</param-value>  
  </context-param>
  <listener>  
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
    </listener> 
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
报的异常信息如下:
Initializing Spring root WebApplicationContext
2011-09-01 18:20:38,805 [http--9800-0$9889177] [com.pica.common.helper.SpringHelper] [INFO] - holded applicationContext,displayName:Root WebApplicationContext
[18:20:39.159] {http--9800-0$9889177} WebApp[http://localhost:9800] Initializing Spring FrameworkServlet 'spring'
2011-09-01 18:20:39,234 [http--9800-0$9889177] [org.springframework.web.servlet.DispatcherServlet] [ERROR] - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/spring-servlet.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.getBeanDefinitionDefaults()Lorg/springframework/beans/factory/support/BeanDefinitionDefaults;
Caused by: java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.getBeanDefinitionDefaults()Lorg/springframework/beans/factory/support/BeanDefinitionDefaults;
        at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.configureScanner(ComponentScanBeanDefinitionParser.java:101)
        at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:83)
        at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1114)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1104)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:133)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:90)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:458)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:353)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
此项目在window环境没有问题,能够正常跑,就是部署到linux上就报这错了,求解,多谢

解决方案 »

  1.   

    linux下加载可能和windows还是不一样的吧很奇怪你们的项目居然同时用spring2和3, 谁脑残设计的啊?有可能冲突了吧 你丢掉一个试试
      

  2.   

    去掉resin配置文件  <host id="" root-directory=".">
      <web-app id="/" root-directory="F:\data\spring3mvc\WebRoot">   <system-property javax.xml.transform.TransformerFactory="org.apache.xalan.processor.TransformerFactoryImpl"/>
    <system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
    <system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
    <system-property org.xml.sax.driver="org.apache.xerces.parsers.SAXParser"/>
     </web-app>这段拿掉就可以了,resin加载xml 跟spring3的有冲突,我的项目时这样的,希望对你有帮助system-property javax.xml.transform.TransformerFactory="org.apache.xalan.processor.TransformerFactoryImpl"/>
    <system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
    <system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
    <system-property org.xml.sax.driver="org.apache.xerces.parsers.SAXParser"/>