linux下weblogic ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V异常
工程在本地windows机器上面安装weblogic部署正常,迁移到linux(64位)下安装32位的weblogic10.3出现异常 <Unable to set the activation state to true for the application 'ETeller'.weblogic.application.ModuleException:at
·
工程在本地windows机器上面安装weblogic部署正常,迁移到linux(64位)下安装32位的weblogic10.3出现异常
<Jan 15, 2013 5:13:23 PM CST> <Error> <Deployer> <BEA-149231> <Unable to set the activation state to true for the application 'ETeller'.
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
Truncated. see log file for complete stacktrace
Caused By: java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:125)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:236)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
Truncated. see log file for complete stacktrace
网上查找解决方案都说是 仔细检查是由于有两个包asm2.0.3.jar和asm.jar以及有spring-core.jar和spring-2.0.5core.jar,包冲突,删除asm2.0.3.jar和spring-2.0.5core.jar后重新启动正常 , 但是仔细查找了lib下的jar和weblogic公共module和service下面都没有这两个包,我们系统中并没有使用,
然后去官网下载最新的32位12版本和64位版本的10.3weblogic,错误依旧,排除weblogic的问题,
然后通过启动的时候打出的日志发现错误找的包路径为
[Loaded org.springframework.util.ReflectionUtils from file:/bea/app/products/WEB-INF/lib/spring-1.2.x.jar]
应该是spring-1.2.x.jar和spring-core-3.0.3.RELEASE.jar的冲突,应该是调用spring-core-3.0.3.RELEASE.jar中的ReflectionUtils类的makeAccessible方法,却去了spring-1.2.x.jar中寻找
最后解决方案是替换掉系统中使用的这几个包
WEB-INF/lib/spring-context-support-2.5.6.jar WEB-INF/lib/spring-1.2.x.jar WEB-INF/lib/spring-jms-3.0.3.RELEASE.jar WEB-INF/lib/spring-tx-3.0.3.RELEASE.jar WEB-INF/lib/spring-core-3.0.3.RELEASE.jar WEB-INF/lib/spring-context-3.0.3.RELEASE.jar
全部替换为WEB-INF/lib/org.springframework.beans-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.jms-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.jdbc-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.aspects-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.test-3.0.3.RELEASE.jar WEB-INF/lib/javassist-3.12.0.GA.jar WEB-INF/lib/org.springframework.instrument.tomcat-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.web.servlet-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.oxm-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.web.portlet-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.web-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.asm-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.context-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.transaction-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.core-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.expression-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.web.struts-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.orm-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.context.support-3.0.3.RELEASE.jar WEB-INF/lib/hibernate3.jar WEB-INF/lib/org.springframework.instrument-3.0.3.RELEASE.jar WEB-INF/lib/org.springframework.aop-3.0.3.RELEASE.jar
最后启动问题解决,但是还留下一个疑问,就是以前也是64位的Linux系统和weblogic,但是当时就没有出现问题,可惜当时部署的同事早就闪人了,所以我一开始
觉得应该是weblogic公共部分有jar冲突,可惜找遍了weblogic也没用找到有冲突的部分,最终只能走下策,替换jar,替换一堆jar启动是没有问题了,但是可能对应用有些影响
更多推荐
已为社区贡献4条内容
所有评论(0)