linux下weblogic ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V异常详解编程语言

工程在本地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启动是没有问题了,但是可能对应用有些影响

 

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13616.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论