java.lang.NoClassDefFoundError异常处理
1.异常信息:
Caused by: java.lang.NoClassDefFoundError: com/pingan/cfss/monitor/user/controller/UserInfoController$2
at com.pingan.cfss.monitor.user.controller.UserInfoController.getUserList(UserInfoController.java:84) ~[cfss_monitor_user/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_92]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92]
at com.pingan.pafa.papp.esa.annotation.MethodESA.invokeMethod(MethodESA.java:148) ~[pafa5-dubbox-5.3.13.jar:?]
at com.pingan.pafa.papp.esa.annotation.MethodESA.perform(MethodESA.java:59) ~[pafa5-dubbox-5.3.13.jar:?]
... 36 more
2.通用的排查方法
遇到这种异常不外呼两种情况
1.classpath里没有对应的class文件
2.有class文件,但是加载静态类时,初始化静态方法报错。
3.问题解决过程
遇到后,猜想:我们生产环境肯定没人删除依赖包的怎么会少class文件,直接把1忽略了,又结合代码,2也被忽略了,此时就懵逼了(UserInfoController这个类已经被加载了,为啥UserInfoController$2会找不到?)。
当时就在本地想了一个办法,先把应用启动起来,然后把target全部删掉,发现报了一模一样的错误。(问题终于被确定,是1少class)
确定后就去生产服务器查看lib包,果然什么都没有,后来经过排查,是运维人员的定时备份日志脚本把lib也备份了(因为pafa的依赖包是放在和日志同目录的子目录里)
4.心得:
不要随随便忽略任何细节,除非你有确凿的证据
java.lang.NoClassDefFoundError异常处理的更多相关文章
- 用dom4j解析xml 报java.lang.NoClassDefFoundError:org/jaxen/JaxenException
转自:http://www.myexception.cn/java%20exception/95.html 源码如下: import java.io.File; import java.util.Li ...
- 【异常处理】java.lang.NoClassDefFoundError
Exception in thread"main" java.lang.NoClassDefFoundError:org/apache/commons/lang/exception ...
- java.lang.NoClassDefFoundError: Could not initialize class异常处理
借鉴:http://blog.csdn.net/sleepdancer/article/details/9207425 static { InputStream in = XXX.class.getR ...
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
学习架构探险,从零开始写Java Web框架时,在学习到springAOP时遇到一个异常: "C:\Program Files\Java\jdk1.7.0_40\bin\java" ...
- java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
如果你出现类似如下错误 1. Install tomcat7 in my home directory and set up `CATALINA_HOME` environment variable ...
- 【错误总结】java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
运行环境 JDK1.7 64位 Window 7 64位 Ecplise Java EE IDE Struts 2.3.9 Tomcat 7 说明: ...
- zookeeper_service 出错 java.lang.NoClassDefFoundError: org/I0Itec/zkclient/exception/ZkNoNodeException
2016-12-18 08:28:07 ContextLoader:358 ERROR - Context initialization failed java.lang.NoClassDefFoun ...
- Android导包导致java.lang.NoClassDefFoundError
摘要: SDK方法总数是不能超过65k的.是否也引入其他的三方库,导致总数超过限制.超出限制会导致部分class找不到,引发java.lang.NoClassDefFoundError.解决方法:近日 ...
- Spring配置c3p0数据源时出错报:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
今天在使用Spring配置c3p0数据源时,使用的数据库是mysql,服务器是tomcat,运行时报了一个 java.lang.NoClassDefFoundError: com/mchange/v2 ...
随机推荐
- HTML5-语义化
什么是语义化?就是用合理.正确的标签来展示内容,比如h1~h6定义标题. 语义化优点: 易于用户阅读,样式丢失的时候能让页面呈现清晰的结构. 有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权 ...
- unittest学习3-测试组件setup、teardown
unittest的测试用例执行时都可以设置setup.teardown,用来初始化测试开始和测试结束关闭,例如: import unittest class MyTestCase(unittest.T ...
- 普及C组第二题(8.5)
1565. [GDKOI]神秘山庄 (Standard IO) 时间限制: 1000 ms 空间限制: 262144 KB 题目: 翠亨村是一个神秘的山庄,并不是因为它孕育了伟人孙中山,更神秘的是山 ...
- ColorPix——到目前为止最好用的屏幕取色器
分享一个颜色取色器网页.PPT.EXCEL配色不再烦恼 简单易用 大家做商业.企业报告的时候是不是经常遇到要调色的困扰呢?PPT.EXCEL等颜色选取会对报告有质的影响!!要更专业要更有美感!给大家分 ...
- Bugku-CTF之login2(SKCTF)(hint:union,命令执行)
Day40 login2(SKCTF) http://123.206.31.85:49165/ SKCTF{xxxxxxxxxxxxxxxxxxxxx} hint:union,命令执行
- linux shell 正则表达式详解
正则 1. 普通正则表达式 2. 扩展正则表达式 普通正则表达式 . 任意一个字符 * 前面一个字符出现0次或者多次 [abc] 中括号内任意一个字符 [^abc] 非括号内任意一个字符 [0-9] ...
- C#系统库的源代码
.NET Core:https://github.com/dotnet/corefx .NET Framework:https://referencesource.microsoft.com
- .net core 通过代码创建数据库表
0.结构: 1.API using System; using System.Collections.Generic; using System.IO; using System.Linq; usin ...
- 熟悉这几道 Redis 高频面试题,面试不用愁
1.说说 Redis 都有哪些应用场景? 缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力. 共享Ses ...
- vue使用过程中遇到的细节问题
1. 在methods 中添加一个方法.如果这个方法使用箭头函数的话,箭头函数中的this不是当前的vue实例,所以通过this.xxx是获取不到实例上面的属性的,这时我们可以用函数的简写来获取到实例 ...