gpt4 book ai didi

java - 内部类的 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-11-29 07:01:20 26 4
gpt4 key购买 nike

因此,我发现对于新的 Java 程序员来说,这是一个非常普遍的问题。然而,在使用 Java 编程八个月之后,今天是我第一次遇到它。

这个程序已经运行了相当长的一段时间了。昨晚我对 Swing 布局做了一个小调整,今天早上我终于有机会试一试,当时我遇到了那个错误。我所做的调整可能未完成,但我相当确定它与此错误无关。

错误告诉我它发生在以下行:

private CheckTreeTableSelectionListener selectionListener = new CheckTreeTableSelectionListener();

位于类顶部的字段列表中。有趣的是:CheckTreeTableSelectionListener一个内部类。它不是外部的,也不是导入的。另外,昨晚我没有触及那个内部类,也没有触及创建它的新实例的字段。现在我(勉强)明白 NoClassDefFoundError 消息意味着类定义可以在编译时找到,但不能在运行时找到。这并没有真正的帮助。如果是内部类,怎么会找不到呢?它就在那里,在实例化它的类中!

编辑

根据要求,这里是堆栈跟踪:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: info/chrismcgee/sky/Scheduling$CheckTreeTableSelectionListener
at info.chrismcgee.sky.Scheduling.<init>(Scheduling.java:165)
at info.chrismcgee.sky.Scheduling$2.run(Scheduling.java:204)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: info.chrismcgee.sky.Scheduling$CheckTreeTableSelectionListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 16 more

最佳答案

在 Eclipse IDE 中,有时某些类会神奇地消失。您可以尝试 Project -> Clean 来重建所有。

关于java - 内部类的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550474/

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