项目比较乱,有spring2,也有spring3的jar包,在web.xml文件里加载了spring相关配置文件,但用resin跑死活就是报初始化异常,web.xml代码如下:
- HTML code
<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上就报这错了,求解,多谢
------解决方案--------------------------------------------------------
linux下加载可能和windows还是不一样的吧
很奇怪你们的项目居然同时用spring2和3, 谁脑残设计的啊?有可能冲突了吧 你丢掉一个试试
------解决方案--------------------------------------------------------
去掉resin配置文件
<host id="" root-directory=".">
<web-app id="/" root-directory="F:\data\spring3mvc\WebRoot">