weblogic启动web工程包java.lang.NoSuchMethodError

飞翔的猪头 2012-08-30 07:31:41
<User defined listener org.springframework.web.context.ContextLoaderListener failed: java.lang.NoSuchMethodError: org/springframework/beans/factory/support/DefaultListableBeanFactory.setSerializationId(Ljava/lang/String;)V.
java.lang.NoSuchMethodError: org/springframework/beans/factory/support/DefaultListableBeanFactory.setSerializationId(Ljava/lang/String;)V
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
Truncated. see log file for complete stacktrace
>
<Aug 30, 2012 6:45:41 PM CST> <Error> <Deployer> <BEA-149231> <Unable to set the activation state to true for the application 'wap'.
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1514)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:486)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
Truncated. see log file for complete stacktrace

Caused By: java.lang.NoSuchMethodError: org/springframework/beans/factory/support/DefaultListableBeanFactory.setSerializationId(Ljava/lang/String;)V
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
Truncated. see log file for complete stacktrace
>
<Aug 30, 2012 6:45:41 PM CST> <Notice> <Log Management> <BEA-170027> <The Server has established connection with the Domain level Diagnostic Service successfully.>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on fe80:0:0:0:218:8bff:fee5:8a13:6001 for protocols iiop, t3, ldap, snmp, http.>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <Server> <BEA-002613> <Channel "Default[2]" is now listening on 127.0.0.1:6001 for protocols iiop, t3, ldap, snmp, http.>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <Server> <BEA-002613> <Channel "Default[3]" is now listening on 0:0:0:0:0:0:0:1:6001 for protocols iiop, t3, ldap, snmp, http.>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 172.100.2.166:6001 for protocols iiop, t3, ldap, snmp, http.>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <WebLogicServer> <BEA-000329> <Started WebLogic Admin Server "AdminServer" for domain "wapDomain" running in Production Mode>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
<Aug 30, 2012 6:45:42 PM CST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
其中有DefaultListableBeanFactory房的Jar有spring.jar和org.springframework.asm-3.0.2.RELEASE这2个jar包,本地tomact启动OK,但是放到服务器上weblogic启动就报错!
求大神指点呀!
...全文
1615 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2012-08-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
再补充下,在测试weblogic下跑都是OK的,打到生产环境的weblogic下就挂了!这个需要检查2个环境那些地方呢?JDK和weblogic版本都一样的!
[/Quote]

重点检查下CLASSPATH里面的jar包以及JDK中的ext目录,还有Weblogic似乎也有个jar包目录(忘了是啥)。

此外,如果打包发布时,是按照EAR发布的话,还得检查下最底层的APP-INF\lib有没有啥东西。
飞翔的猪头 2012-08-31
  • 打赏
  • 举报
回复
再补充下,在测试weblogic下跑都是OK的,打到生产环境的weblogic下就挂了!这个需要检查2个环境那些地方呢?JDK和weblogic版本都一样的!
gradeyong 2012-08-30
  • 打赏
  • 举报
回复
看看这个

在weblogic.xml中配置,如下:
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

文章在这里
http://shuwen.iteye.com/blog/1124220
scbb 2012-08-30
  • 打赏
  • 举报
回复
说你的类里缺方法。
更新下spring的一系列jar包,试试看。
并要确认,可能你编译和执行用的jar包不一样?
或者里面即包含了新包的类,也有其他jar包含了老的类(同名)。
gradeyong 2012-08-30
  • 打赏
  • 举报
回复
错了错了,抱歉lz,你可以百度一下weblgoic的Class loading and update detection
gradeyong 2012-08-30
  • 打赏
  • 举报
回复
weblogic/websphere都有个选项可以选择是weblogic自己的库优先还是war里的库优先

不好意思我现在在websphere上搞程序,weblogic已经删了很久了。不过我过一会儿可以帮lz搜搜,lz也可以baidu一下,关键字应该是weblogic的context root
gradeyong 2012-08-30
  • 打赏
  • 举报
回复
库的存在有三种可能

一个是spring的jar在你的war的lib里,在项目生成的时候无论用ant还是maven压入库jar的lib文件夹

另一种是spring的jar本身在你的weblogic的server instance里,在weblogic的控制台里可以给当前的server加入外部spring的依赖作为你当前server里所有spring应用的通用的库文件。

第三种可能,就是两者都存在,你weblogic里有spring的jar,同时你的war里也有spring的jar,但是lz的weblogic是以server里的库作为优先的,所以当同时扫描到spring的库文件,往往以server的库为优先。
飞翔的猪头 2012-08-30
  • 打赏
  • 举报
回复
这个载入是说的weblogic解压了war包后缓存目录里面的jar吗?如果是的话是一样的!
gradeyong 2012-08-30
  • 打赏
  • 举报
回复
setSerializationId 方法是来自Spring 3.0的但是不存在于spring 2.x的版本中。

lz需要检查一下你weblogic下载入的spring和tomcat下的spring是否是同一个版本
MiceRice 2012-08-30
  • 打赏
  • 举报
回复
java.lang.NoSuchMethodError: org/springframework/beans/factory/support/DefaultListableBeanFactory.setSerializationId

这种错误一般 95% 以上概率,说明你用了不匹配的jar包。

再结合你所说的 tomcat 启动OK,Weblogic启动报错。

那可能还得检查下是否跟Weblogic存在冲突,或者说你是否在Weblogic的CLASSPATH或 JDK 的 ext 之类的地方,装载了冲突的jar包。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧