Classnotfoundexception 与 noClassDelfaultError的区别

时间:2022-08-14 08:42:53

ClassNotFoundException

这个异常特别常见,就是class找不到异常,一般的问题就是:

1 调用class的forName方法时,找不到指定的类

2 ClassLoader 中的 findSystemClass() 方法时,找不到指定的类

3 ClassLoader 中的 loadClass() 方法时,找不到指定的类

NoClassDefFoundError

在编译时都没有问题,但是运行时,JVM或者ClassLoader去加载某个类,发现这个类找不到了,就会报这个错误。

一般这个问题,出现的所在之处:

通过了编译,但是这个类是有包名的,因此在编译时需要指定classpath,在使用的时候需要加上包名才可以。