ClassNotFoundException 和 NoClassDefFoundError的区别
Error主要出现在运行时,Exception在运行时和编译时都会出现
ClassNotFoundException发生在编译时,找不到类
NoClassDefFoundError的发生是在成功编译后,要运行时找不到类
触发场景和解决方法
1. 类的路径问题
class文件不存在:确定类文件是否存在
JVM找不到class文件(classpath设置问题):检查classpath配置
2.类加载器问题
类加载器配置问题:检查类加载器配置、使用其他类加载器
3.类依赖问题
类可能会依赖其他类,其他类可能无法被找到或不能被加载:检查类依赖的其他类
NoClassDefFoundError
查找开发时存在但运行时不存在的类