java - ClassNotFoundException 和 NoClassDefFoundError 有什么区别?

标签 java exception

ClassNotFoundException 和 NoClassDefFoundError 有什么区别?

任何人都可以通过一些例子来解释..

最佳答案

找不到类:

http://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html

无类定义:

http://docs.oracle.com/javase/7/docs/api/java/lang/NoClassDefFoundError.html

“找不到类”非常明显:一些反射机制试图通过它的名称来引用它的类,但该类不存在,所以卡布卢伊。这是很明显的。名字错了。

最隐秘的错误是“No Class Def Found”错误。当您编译代码时就会发生这种情况,一切都很好,但在运行时,编译时可用的类却不存在。或者,更狡猾的是,它就在那里,但版本错误,因此无法使用。

第一个问题指向配置错误。你只是把名字写错了。

第二个问题指向构建错误。您要么在构建路径中丢失了某些内容,要么在不同的 JVM 中运行,或者发生了类似的怪事。

“找不到类”通常很容易修复,但“没有类定义”可能会让你抓狂。如果您遇到后者,请着手证明提到的类位于类路径上,或者位于类路径上的 jar 中。通常,当我看到问题时,这种努力就能解决问题。

关于java - ClassNotFoundException 和 NoClassDefFoundError 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22207772/

相关文章:

java - 导出可运行的小程序 IntelliJ IDEA

javascript - Uncaught Error : NotFoundError: DOM Exception 8 Chrome Extension

c++ - 如何处理不正确的输入文件

java - GridView 项目高度与其他项目高度不匹配

java - 每次打印的 IvParameterSpec 值不同

java - 使用 ajax 在 wicket 中的下拉选择中添加工具提示

android BroadcastReceiver 有时会在 onReceive 抛出 NullPointerException

java - 无法在 JSP 中显示 arrayList

java - split 异常

C# 异常包含事件详细信息