Weblogic 启动报错:java.lang.NoClassDefFoundError
####<2015-6-17 下午03时30分47秒 CST> <Error> <HTTP> <HDQSDOCMTAPP4> <zonyappserver> <[ACTIVE] ExecuteThread: '15' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1434526247927> <BEA-101163> <Could not load user defined listener: org.springframework.web.context.request.RequestContextListener
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.web.context.request.RequestContextListener.<init>(RequestContextListener.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:310)
有没有人知道这个是怎么回事?
WebLogic启动时加载的jar包如下:
java.class.path = D:\zonyapps\applibs\commons-logging.jar;D:\zonyapps\applibs\log4j-1.2.8.jar;D:\zonyapps\applibs\activation.jar;D:\zonyapps\applibs\antlr-2.7.6.jar;D:\zonyapps\applibs\aspectjrt.jar;D:\zonyapps\applibs\aspectjweaver.jar;D:\zonyapps\applibs\axis.jar;D:\zonyapps\applibs\cglib-nodep-2.1_3.jar;D:\zonyapps\applibs\commons-collections-3.1.jar;D:\zonyapps\applibs\commons-discovery.jar;D:\zonyapps\applibs\commons-io-1.3.2.jar;D:\zonyapps\applibs\dom4j-1.6.1.jar;D:\zonyapps\applibs\ejb3-persistence.jar;D:\zonyapps\applibs\hibernate-annotations.jar;D:\zonyapps\applibs\hibernate-commons-annotations.jar;D:\zonyapps\applibs\hibernate3.jar;D:\zonyapps\applibs\javassist-3.9.0.GA.jar;D:\zonyapps\applibs\jaxrpc.jar;D:\zonyapps\applibs\jdom-1.0.jar;D:\zonyapps\applibs\jta-1.1.jar;D:\zonyapps\applibs\proxool-0.9.1.jar;D:\zonyapps\applibs\proxool-cglib.jar;D:\zonyapps\applibs\saaj.jar;D:\zonyapps\applibs\slf4j-api-1.5.8.jar;D:\zonyapps\applibs\slf4j-nop-1.5.8.jar;D:\zonyapps\applibs\spring.jar;D:\zonyapps\applibs\sqljdbc4.jar;D:\zonyapps\applibs\standard.jar;D:\zonyapps\applibs\wsdl4j.jar;D:\zonyapps\applibs\adobe-assembler-client.jar;D:\zonyapps\applibs\adobe-generatepdf-client.jar;D:\zonyapps\applibs\adobe-livecycle-client.jar;D:\zonyapps\applibs\adobe-usermanager-client.jar;D:\Oracle\MIDDLE~1\patch_wls1211\profiles\default\sys_manifest_classpath\weblogic_patch.jar;D:\Java\JDK16~1.0_4\lib\tools.jar;D:\Oracle\MIDDLE~1\WLSERV~1.1\server\lib\weblogic_sp.jar;D:\Oracle\MIDDLE~1\WLSERV~1.1\server\lib\weblogic.jar;D:\Oracle\MIDDLE~1\modules\features\weblogic.server.modules_12.1.1.0.jar;D:\Oracle\MIDDLE~1\WLSERV~1.1\server\lib\webservices.jar;D:\Oracle\MIDDLE~1\modules\ORGAPA~1.1/lib/ant-all.jar;D:\Oracle\MIDDLE~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;;
操作系统是Windows,使用Windows服务方式启动
解决方案参考:
1、检查下jar 包是否正常,有没有被损坏?
jar包损坏了,weblogic读不出来那个jar包的内容,将jar包解压再压缩之后解决问题。
2、看 weblogic 的启动jdk 和项目编译的jdk 是不是统一的?
据说是因为加载的包不能被jvm识别。举例说下,如果你开发用的IBM的JDK,你部署的时候用的是sun jdk编译的包会出现这种情况
3、看是不是 项目的jar与weblogic 自带的jar包有冲突
有一个说法,就是说 weblogic可能 自带了一些jar,项目也有一些jar包,这些jar包之间的版本可能不一致,比如 项目的比weblogic 的版本高,一般上weblogic只会加载一次jar,而不会管版本高低,所以 优先加载项目的jar
类似这个 http://blog.csdn.net/ygj26/article/details/7227253