classnotfoundexception vs NoClassDefFoundError

来源:互联网 发布:java linktag.class 编辑:程序博客网 时间:2024/06/03 21:22

classnotfoundexception :

产生原因:主要是调用Class.forName(), classLoader.loadClass(), class.findSystemClass()时,需要加载一个类到内存中时,抛出的异常。

哪些情况会出现:

1)框架或者web容器通过Class.forName()加载一个类,找不到类时

2)框架或者web容器通过Class.forName()加载一个类,存在不同版本的同名jar包,且包含重复的类。即出现了Jar包冲突。


 NoClassDefFoundError:

主要是在new创建对象的时候,找不到类抛出的Error。

哪些情况会出现:

1)编译期依赖的类,在运行期间找不到了。可能是编译期依赖的jar包,在运行期间没有在classpath中找到。

2)编译期依赖的类,在运行期间找不到了。可能是因为Jar包冲突导致

0 0