錯誤詳細資料如下:
[6/27/13 15:54:49:679 CST] 00000043 SystemOut O ERROR - 擷取指定的對象[AppendixMgr]的執行個體失敗!請檢查設定檔! -com.trs.DreamFactory.createObjectById(DreamFactory.java:79)org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AppendixMgr' defined in file [/opt/IBM/WebSphere/AppServer/profiles/AppSrv06/installedApps/QATest218Node05Cell/ekp_1235_fix.ear/ekp.war/WEB-INF/classes/trsconfig/domain/com.trs.components.wcm.content/beans.xml]: Initialization of bean failed; nested exception is java.lang.VerifyError: JVMVRFY007 final method overridden; class=net/sf/cglib/core/DebuggingClassWriter, method=visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Vat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093)at com.trs.SpringBean.getBean(SpringBean.java:58)at com.trs.DreamFactory.createObjectById(DreamFactory.java:72)at com.trs.components.wcm.content.domain.DocBakLCListenerForApd.<init>(DocBakLCListenerForApd.java:40)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)at java.lang.reflect.Constructor.newInstance(Constructor.java:527)at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:76)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:943)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:294)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093)at com.trs.SpringBean.getBean(SpringBean.java:58)at com.trs.DreamFactory.createObjectById(DreamFactory.java:72)at com.trs.infra.persistent.listener.ObjectLCListenerConfig.getBean(ObjectLCListenerConfig.java:81)at com.trs.infra.persistent.listener.ObjectLCMonitorServer.loadListeners(ObjectLCMonitorServer.java:318)at com.trs.infra.persistent.listener.ObjectLCMonitorServer.loadListeners(ObjectLCMonitorServer.java:254)at com.trs.infra.persistent.listener.ObjectLCMonitorServer.loadConfig(ObjectLCMonitorServer.java:240)at com.trs.infra.persistent.listener.ObjectLCMonitorServer.doStart(ObjectLCMonitorServer.java:345)at com.trs.infra.BaseServer.startup(BaseServer.java:144)at com.trs.infra.ServerControl.doStart(ServerControl.java:194)at com.trs.infra.StartupServlet.init(StartupServlet.java:52)at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:336)at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1341)at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:588)at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:559)at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:425)at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1170)at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:638)at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:769)at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994)at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)Caused by: java.lang.VerifyError: JVMVRFY007 final method overridden; class=net/sf/cglib/core/DebuggingClassWriter, method=visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Vat java.lang.ClassLoader.defineClassImpl(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:262)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69)at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:852)at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:762)at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585)at java.lang.ClassLoader.loadClass(ClassLoader.java:627)at java.lang.J9VMInternals.verifyImpl(Native Method)at java.lang.J9VMInternals.verify(J9VMInternals.java:85)at java.lang.J9VMInternals.initialize(J9VMInternals.java:162)at net.sf.cglib.core.AbstractClassGenerator.<init>(AbstractClassGenerator.java:38)at net.sf.cglib.core.KeyFactory$Generator.<init>(KeyFactory.java:127)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:112)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)at java.lang.J9VMInternals.initializeImpl(Native Method)at java.lang.J9VMInternals.initialize(J9VMInternals.java:228)at org.springframework.aop.framework.Cglib2AopProxy.createEnhancer(Cglib2AopProxy.java:229)at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:171)at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:112)at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:476)at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:362)at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1461)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)... 59 more
解決辦法:
8.5版本的Websphere,需要 “cglib-nodep-2.2.2.jar” 替換 ekp/web-inf/lib下的“cglib-2.2.2.jar”檔案
原因是:cglib-2.2.2.jar 可以與 asm-3.3.1.jar 搭配使用管理bean檔案,但是"asm-3.3.1.jar"不可以與“asm-4.0.jar”搭配使用,正是因為Websphere 8.5 自身帶了“asm-4.0.jar”造成的。 在其他應用伺服器下不會有問題。 出現的異常是:重寫了某個final方法,這個方法正是 asm-4.0.jar與asm-3.3.1.jar的變化