Weblogic 启动报错:java.lang.NoClassDefFoundError

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