Ruben Laguna's blog

Mar 2, 2009 - 2 minute read - deserializing java netbeans NoClassDefFoundError tcid topcomponent

Netbeans: "Problem when deserializing TopComponent for tcID"

Today I experienced a strange problem. Or I thought it was strange . I just checkout a my project from Subversion into Netbeans and it didn’t work!. How come? I have another working copy that works just ok. So I check the logs in $app/build/testuserdir/var/log/messages.log and I found

INFO []: [PersistenceManager.getTopComponentForID] Problem when deserializing TopComponent for tcID:'XBeeTopComponent'. Reason: com/rapplogic/xbee/api/XBeeException
java.lang.NoClassDefFoundError: com/rapplogic/xbee/api/XBeeException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(
at java.lang.Class.getMethod0(
at java.lang.Class.getMethod(
at org.netbeans.modules.settings.convertors.XMLSettingsSupport$SettingsRecognizer.createFromMethod(
at org.netbeans.modules.settings.convertors.XMLSettingsSupport$SettingsRecognizer.instanceCreate(
at org.netbeans.modules.settings.convertors.SerialDataConvertor$SettingsInstance.instanceCreate(
[catch] at
at org.netbeans.core.NonGui$
at java.awt.event.InvocationEvent.dispatch(
at java.awt.EventQueue.dispatchEvent(
at org.netbeans.core.TimableEventQueue.dispatchEvent(
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(
at java.awt.EventDispatchThread.pumpEventsForHierarchy(
at java.awt.EventDispatchThread.pumpEvents(
at java.awt.EventDispatchThread.pumpEvents(

NoClassDefDFoundError. ok. It was working before but I can take look. Guess what I changed the name of the jar that contains that class, long time ago but it didn’t show up until now when I started from a clean directory. I found that in the Library Wrapper Module project..xml still contains the old name


that runtime-relative-path should be xbee-api-0.5.1.jar.

I changed to the proper filename and it worked. I can’t remember if I edited project.xml by hand before and that’s why I got it “corrupted” or if I managed to “leave” the file in a inconsistent state by using some wizard but I’m glad to have found it out so quickly.

Note to myself: create a new working directory regularly so I find out this kind of issues.