views:

171

answers:

2

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?

+2  A: 

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?

Pascal Thivent
yes it is a class, but it not being capitalized didn't seem to bother the program yesterday. The code that calls that and the name of the class is exactly the same, no case difference.
Jason
Well if it's Whino it will do that.
Nicholas Jordan
What about the file that contains the class?
Pascal Thivent
Everything was the same there as well. I ended up copying the code to a text file, then deleting the class making a new one of the same name and pasting the code back into it. Works fine now. Still scratching my head going WTF... but oh well, at least it works now.
Jason
A: 

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.

Stephen C