记录一个莫名其妙的报错java.lang.NoClassDefFoundError: Could not initialize class com.demo.jdbc.utils.MyJdbcUtils
在本地对数据库做junit时,一切正常。但是通过tomcat进行调试就报题目的错误。(这一错误涉及到JVM的类加载机制,我真的不懂)
多次测试可以断定,我的JDBCutil类不存在错误(这一个错误我调试了近4个小时,但是异常被吃了),我使用的反射类也没错,所以到底是哪里错了?我到现在也没搞懂!!
因为报错指出是我的JDBCutil类没有初始化,我对JDBCUtils类中所有的静态方法打了断点进行调试,神奇的事情发生了,程序一切正常了(过于神奇,以至于无fuck可讲 )
通过对NoClassDefFoundError错误的复现,上面静态打断点出奇迹的现象可遇不可求。深究根本原因— 类没有加载完全
解决方案(可能只适用于我)
project structure---artifacts-- fix lib 在WEB-INF中加载lib-lib(也就是你所使用的外部lib库)