How to copy over custom widgetset to a new project?


I’ve created custom component which integrates with one of my flash applications. Following the “coverflow” example, I was able to successfully build my widget and it works.

Now I would like to copy over the “compiled” version of this which is contained in my widgetset.

I’ve copied over the directory in my WebContent/ITMILL/widgetsets/com.itmill.incubator.ui.ofc2.gwt.MyWidgetSet and I’ve copied over the server-side class.

I am able to create the component and add it, but I receive the message:

Client faced an unknown component type. Unrendered UIDL: 
 ofc2 id="PID22" height="350px" width="500px" nullselect=true backgroundGradientStart="FFFFFF" backgroundGradientEnd="EEEEEE" scrollbarVisibility=true 

I know I have received this when the client couldn’t resolve the component because of a misconfigured WidgetSet.gwt.xml file or a mismatched tag name. However, in this case it was working in my previous project, so I’m assuming I’m missing a file.

Does anybody happen to know what file I may be missing?


I think this is related to the where you should map the tags to client-site GWT widget.

So you probably need to copy some js file that includes the compiled version of this Java file, unfortunately I don’t know which one. All of them?

This is where I’m unclear. I am copied over the entire widgetset directory that was generated after the Ant build of my widget. I double checked the Ant build file and it shows that there is only this one output directory:

Could it be anything aside from a js file? Do I need to go as far as copying over all the widget’s source code?

Ok, this one was completely my fault. I forgot to add the custom widget entry to my web.xml, now it works:


Forgive my stupidity :slight_smile:

Thanks for the help,

No problem! I’m glad you sorted it out before I ran out of ideas :slight_smile:

One thing I would have suggested is to restart the browser because sometimes there seems to be caching at client-side. Although GWT mostly avoids this using those long generated js-file names.