NoClassDefFoundError和ClassNotFoundException
NoClassDefFoundError是引用异常,大概率是运行中找不到类的情况,也可能是其他情况。
ClassNotFoundException是类找不到,大概率是包引入问题。也有概率是被手动抛出来的。
这不是废话吗。
哈哈,提供一个思路。可以先按照这样排查。如果不是再详细排查
Could not initialize class com.github.ltsopensource.core.support.JobUtils
此处就是初始化发生的异常,在静态块内。
定位到此处
38行打断点
点击stackTrace,定位到异常处
发现是包了一层异常
异常处为63行
在doCompile处继续打断点
此处我还以为是初始化的问题。被之前JobUtil误导了,认为是static出了问题
ClassPool pool = new ClassPool(true);
加上IDEA没有报红,于是朝着错误的地方找了好久。在static块打断点,一直没有走进去。于是继续追踪。
最终发现走到了java自己的加载方法里面了。才意识到,就是包缺失。
于是引入包,自此问题解决
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist.version}</version>
</dependency>