您的当前位置:首页正文

应用jar包冲突问题

2024-03-21 来源:我们爱旅游
现象描述

应用部署成功,但点击启动按钮报错:

分析过程

首先,查看server日志,报错信息和控制台上的报错相对应:

####<2015-6-29 下午03时02分39秒 CST> <[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1435561359421> 根 据以往经验和网络搜索的结果初步判断为spring jar包冲突问题,一般出现这种情况是由于应用的jar包和weblogic自身的spring包冲突,解决方案可采用提前加载应用jar包来解决。提前 加载应用jar包有两种方式:1.在weblogic.xml里设置2.在启动脚本的class_path最前面添加应用jar包。两种方法都尝试后,启 动应用仍然报错。

后来把应用包解压,到/WEB-INF/lib目录下查看所有的jar包,使用反编译工具找到

org.springframework.beans.factory.support.DefaultListableBeanFactory.setSerializationId方法在spring-beans-3.2.6.RELEASE.jar中,同时spring.jar核心spring包中也包含

org.springframework.beans.factory.support.DefaultListableBeanFactory类但没有setSerializationId方法,后来找到原因是:spring.jar是2.0版本,所以没有setSerializationId方法。

处理结果

最后把应用包下的spring.jar包去掉,同时采用设置weblogic.xml的方式先加载应用包,问题解决。

说明:weblogic.xml需要自己手动添加到和应用的web.xml的同级目录,并添加下面的标签对:

-1

true

因篇幅问题不能全部显示,请点此查看更多更全内容