我们容易把java.lang.ClassNotFoundException
和java.lang.NoClassDefFoundError
这两个错误搞混。虽然他们都与Java classpath有关,但是他们完全不同。
NoClassDefFoundError
发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError
的错误;
而ClassNotFoundException
是在编译的时候在classpath中找不到对应的类而发生的错误。
此外他们一个是error级别一个是exception级别的,但是又都是未(不)检查异常.