was加载web模块下的lib的jar包的出错

现在有个项目,在web模块中需要用到一些spring的jar包,把jar包全放到was下的lib目录里就没有任何问题,如果只是放在web模块下的lib下,就会报以下的错:[09-11-4 12:41:20:564 CST] 00000023 ContextLoader E org.springframework.web.context.ContextLoader initWebApplicationC...显示全部
现在有个项目,在web模块中需要用到一些spring的jar包,把jar包全放到was下的lib目录里就没有任何问题,如果只是放在web模块下的lib下,就会报以下的错:
[09-11-4 12:41:20:564 CST] 00000023 ContextLoader E org.springframework.web.context.ContextLoader initWebApplicationContext Context initialization failed                                 org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'TransactionManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Class that bean class [org.springframework.jdbc.datasource.DataSourceTransactionManager] depends on not found; nested exception is java.lang.NoClassDefFoundError: org.springframework.transaction.support.ResourceTransactionManager
java.lang.NoClassDefFoundError: org.springframework.transaction.support.ResourceTransactionManager

at java.lang.ClassLoader.defineClassImpl(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:258)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)

at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:562)

at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:514)

at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:388)

at java.lang.ClassLoader.loadClass(ClassLoader.java:597)

at java.lang.Class.forNameImpl(Native Method)

at java.lang.Class.forName(Class.java:163)

at org.springframework.util.ClassUtils.forName(ClassUtils.java:109)

at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:65)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:466)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:432)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:347)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:197)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:295)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)

at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:129)

at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:145)

at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:126)

at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)

at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:262)

at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)

at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)

at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)

at com.ibm.ws.wswebcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:652)

at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:355)

at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:292)

at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:92)

at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)

at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)

at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)

at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)

at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)

at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)

at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1138)

at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)

at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:817)

at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)

at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)

at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)

at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by: java.lang.ClassNotFoundException: org.springframework.transaction.support.ResourceTransactionManager

at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:487)

at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:388)

at java.lang.ClassLoader.loadClass(ClassLoader.java:597)

... 46 more


其中,DataSourceTransactionManager是在jar包中的,但是它间接引用到的ResourceTransactionManager,jar包中没有。但是把这些jar包都放was下的lib目录中,却不会报这个错。操作系统是redhat 4.7;was版本是6.1.0.23。大家有什么好建议么?谢谢了。收起
参与5

查看其它 4 个回答thinker的回答

thinkerthinker保密保密
问题解决,是jar包冲突的问题,删掉了重复的类。只是不知为何相同的was版本,相同的操作系统,加载jar包的顺序却不一样。
2009-11-10
浏览668

回答者

thinker
保密保密

回答状态

  • 发布时间:2009-11-10
  • 关注会员:0 人
  • 回答浏览:668
  • X社区推广