由一次改包名引起的java.lang.NoClassDefFoundError异常
调试项目过程中发现项目的包名与第三方的jar包存在冲突,于是将项目的包名类名进行修改,引起java.lang.NoClassDefFoundError异常
调试过程:
1.开启Spring包的debug级别日志,查找类加载过程中是否出现修改前的类名以及修改后的类名,同时加载的情况。
比如:修改前的类名:WxMpController;修改后的类名:WxDBController;
在Debug日志中都加载了这两个类,怎么回事呢??
一遍一遍的查看代码命名只有WxDBController这个类了,为什么还会加载到修改前的WxMpController
请看到的WEB-INF文件下的class文件,看看是否存在WxMpController.class文件。
最终解决办法:删除web-inf文件下的class文件,重新编译一次。删除tomcat路径下的编辑好的文件。
其它的原因请参考:https://blog.csdn.net/jamesjxin/article/details/46606307