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:zonyappsapplibscommons-logging.jar;D:zonyappsapplibslog4j-1.2.8.jar;D:zonyappsapplibsactivation.jar;D:zonyappsapplibsantlr-2.7.6.jar;D:zonyappsapplibsaspectjrt.jar;D:zonyappsapplibsaspectjweaver.jar;D:zonyappsapplibsaxis.jar;D:zonyappsapplibscglib-nodep-2.1_3.jar;D:zonyappsapplibscommons-collections-3.1.jar;D:zonyappsapplibscommons-discovery.jar;D:zonyappsapplibscommons-io-1.3.2.jar;D:zonyappsapplibsdom4j-1.6.1.jar;D:zonyappsapplibsejb3-persistence.jar;D:zonyappsapplibshibernate-annotations.jar;D:zonyappsapplibshibernate-commons-annotations.jar;D:zonyappsapplibshibernate3.jar;D:zonyappsapplibsjavassist-3.9.0.GA.jar;D:zonyappsapplibsjaxrpc.jar;D:zonyappsapplibsjdom-1.0.jar;D:zonyappsapplibsjta-1.1.jar;D:zonyappsapplibsproxool-0.9.1.jar;D:zonyappsapplibsproxool-cglib.jar;D:zonyappsapplibssaaj.jar;D:zonyappsapplibsslf4j-api-1.5.8.jar;D:zonyappsapplibsslf4j-nop-1.5.8.jar;D:zonyappsapplibsspring.jar;D:zonyappsapplibssqljdbc4.jar;D:zonyappsapplibsstandard.jar;D:zonyappsapplibswsdl4j.jar;D:zonyappsapplibsadobe-assembler-client.jar;D:zonyappsapplibsadobe-generatepdf-client.jar;D:zonyappsapplibsadobe-livecycle-client.jar;D:zonyappsapplibsadobe-usermanager-client.jar;D:OracleMIDDLE~1patch_wls1211profilesdefaultsys_manifest_classpathweblogic_patch.jar;D:JavaJDK16~1.0_4lib ools.jar;D:OracleMIDDLE~1WLSERV~1.1serverlibweblogic_sp.jar;D:OracleMIDDLE~1WLSERV~1.1serverlibweblogic.jar;D:OracleMIDDLE~1modulesfeaturesweblogic.server.modules_12.1.1.0.jar;D:OracleMIDDLE~1WLSERV~1.1serverlibwebservices.jar;D:OracleMIDDLE~1modulesORGAPA~1.1/lib/ant-all.jar;D:OracleMIDDLE~1modulesNETSFA~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