2

在 IBM WAS 6.1 上部署 Spring MVC 应用程序时出现以下错误。

[17/07/13 12:31:55:466 BST] 0000001a WebApp        E   Exception caught while initializing context 
org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0':
Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: 
Could not instantiate bean class [org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter]:
Constructor threw exception; nested exception is java.lang.ClassCastException:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl incompatible 
with javax.xml.transform.TransformerFactory
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
            at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
            at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
            at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
            at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
            at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
            at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
            at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
            at com.ibm.ws.wswebcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:917)
            at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:378)
            at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:338)
            at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:93)
            at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:162)
            at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:673)
            at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:626)
            at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:395)
            at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:611)
            at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
            at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1164)
            at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:591)
            at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:831)
            at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:945)
            at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2120)
            at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
            at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1551)

相同的应用程序在 Tomcat + Eclipse 上运行良好。但是当我使用 Rational Application Developer 在 IBM WAS 6.1 上部署它时,我在服务器启动期间遇到了这个错误。

任何人都可以帮助我解决这个错误。

提前致谢!

4

1 回答 1

3

这是一个类加载器问题,当 Spring 尝试创建 AnnotationMethodHandlerAdapter 时,它看起来与 WebSphere 中的 XSLT ClassCastException 非常相似

因此,尝试将类加载器策略设置为 PARENT_LAST 并从您的应用程序中删除对 xml-apis / xerces / javax.xml jar 的所有依赖项。

于 2013-07-17T13:18:19.890 回答