今天把项目放到Linux服务器上,部署resin出现了这样的错误:
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
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:123)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at com.caucho.server.webapp.WebApp.start(WebApp.java:3153)
at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:616)
at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:479)
at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:171)
at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:712)
at com.caucho.server.host.Host.start(Host.java:674)
at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:616)
at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:479)
at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:171)
at com.caucho.server.host.HostContainer.start(HostContainer.java:542)
at com.caucho.server.cluster.Server.start(Server.java:1200)
at com.caucho.server.cluster.ServletService.start(ServletService.java:63)
at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:471)
at com.caucho.env.service.ResinSystem.start(ResinSystem.java:443)
at com.caucho.server.resin.Resin.start(Resin.java:882)
at com.caucho.server.resin.Resin.initMain(Resin.java:1011)
at com.caucho.server.resin.Resin.main(Resin.java:1285)
Caused by: java.lang.NoSuchMethodError: org.springframework.beans.MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
at org.springframework.transaction.config.TxAdviceBeanDefinitionParser.parseAttributeSource(TxAdviceBeanDefinitionParser.java:143)
at org.springframework.transaction.config.TxAdviceBeanDefinitionParser.doParse(TxAdviceBeanDefinitionParser.java:84)
at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84)
at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
... 32 more
[12-03-05 15:26:06.326] {main} javax.servlet.ServletException: Class: com.opensymphony.xwork2.spring.SpringObjectFactory
File: SpringObjectFactory.java
Method: getClassInstance
Line: 209 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
at com.caucho.server.dispatch.FilterManager.createFilter(FilterManager.java:233)
at com.caucho.server.dispatch.FilterManager.init(FilterManager.java:105)
at com.caucho.server.webapp.WebApp.start(WebApp.java:3163)
at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:616)
at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:479)
at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:171)
at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:712)
at com.caucho.server.host.Host.start(Host.java:674)
at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:616)
at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:479)
at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:171)
at com.caucho.server.host.HostContainer.start(HostContainer.java:542)
at com.caucho.server.cluster.Server.start(Server.java:1200)
at com.caucho.server.cluster.ServletService.start(ServletService.java:63)
at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:471)
at com.caucho.env.service.ResinSystem.start(ResinSystem.java:443)
at com.caucho.server.resin.Resin.start(Resin.java:882)
at com.caucho.server.resin.Resin.initMain(Resin.java:1011)
at com.caucho.server.resin.Resin.main(Resin.java:1285)
Caused by: Class: com.opensymphony.xwork2.spring.SpringObjectFactory
File: SpringObjectFactory.java
Method: getClassInstance
Line: 209 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at com.caucho.server.dispatch.FilterManager.createFilter(FilterManager.java:203)
... 20 more
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:209)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:519)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:490)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:446)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
... 23 more
在网上搜索了半天,都是说把struts2-spring-plugin.jar包删掉,那是没有SSH整合,直接用Struts的问题。找了很久,终于解决了,是srping版本的问题。
我出现这种情况是由于用MyEclipse整合,然后自己导入以前的SSH整合包,结果重复了。只留一个版本的sprig即可,我的是删除spring2.x版本的,因为JAR包比较少,呵呵。
spring 3.0的包是这样的,
而spring 2.x版本的是这样的: