gpt4 book ai didi

java - ClassNotFoundException 与 NoClassDefFoundError 与无法找到或加载主类 XYZ 之间的区别是什么?

转载 作者:行者123 更新时间:2023-12-01 12:42:38 25 4
gpt4 key购买 nike

我浏览了多个站点,但实际上无法理解它们之间的区别。我想知道三个站点之间的确切区别。

最佳答案

一个 NoClassDefFoundError抛出,如果一个类文件引用了一个在运行时找不到但在编译时可用的类。
(来源:https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/NoClassDefFoundError.html)
一个 ClassNotFoundException当应用程序尝试通过其字符串名称加载一个类时抛出:

  • Class 类中的 forName 方法。
  • ClassLoader 类中的 findSystemClass 方法。
  • ClassLoader 类中的 loadClass 方法。

  • (来源: https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/ClassNotFoundException.html)
    错误信息 Couldn't find or load main class XYZ ,意味着很多事情:
  • 您指定了错误的类(错字)
  • 指定的类文件中的类(不是)在包中。 (如 java c ,但类在包 a.b 中,所以命令应该是 java a.b.c )

  • 更多信息/原因: https://stackoverflow.com/a/18093929/13912132

    关于java - ClassNotFoundException 与 NoClassDefFoundError 与无法找到或加载主类 XYZ 之间的区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63207516/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com