Class not found exception?
Ok, I am very confused. Yesterday it worked just fine. Today suddenly I start getting an error. The main frame opens just fine and the first few buttons work. Just the last three suddenly do not work. I get the following error when I try to click those buttons (which should open new windows)
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: my/freelancebillingapp/paidStatusUI at my.freelancebillingapp.FreelanceBillingUI.paidClicked(FreelanceBillingUI.java:251) at my.freelancebillingapp.FreelanceBillingUI.access$200(FreelanceBillingUI.java:18) at my.freelancebillingapp.FreelanceBillingUI$3.mouseClicked(FreelanceBillingUI.java:89) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) at java.awt.Component.processMouseEvent(Component.java:6266) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 开发者_如何转开发 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.lang.ClassNotFoundException: my.freelancebillingapp.paidStatusUI at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 24 more
Nothing has changed in the code from yesterday when it was working fine. I can open all the individual java files and they all open just fine, code is the same as it was.. WTF happened?
What is my.freelancebillingapp.paidStatusUI
? Is this a class? If yes, it should start with an uppercase letter but that's actually a side note. However, you likely have a case issue somewhere. Could it be with the file name?
If you really didn't change the capitalization of your classes and/or source file names, I suspect that the actual problem is something to do with your classpath. For example, your classpath may explicitly or implicitly include the current directory, and that at some point you changed your current directory; e.g. between compiling and running your class. Or maybe you are simply using different classpaths to compile and run your code.
Classpath confusion and inconsistent class versus source file naming are both common problems for people who are new to Java.
I've had that happen using NetBeans. When memory gets low, it barfs on the compile and the project suddenly no longer recognizes all the classes. The only way to fix it is what you did -- remove the class and then re-add it.
Sorry, no answer here, just commiseration.
精彩评论