由一次改包名引起的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