I have had numerous projects where there is a name conflict with the Main component. If this is what your problem is, an easy fix is to just change the name of your main component.
Here is a my override in Application to change the name of my main component from Main to VCAT2Main:
public WOComponent pageWithName(String aName, WOContext aContext) {
// there is a conflict with the object name Main.
// It is caused by the batik.jar file (and maybe others) in the Libraries directory
// convert null or Main to VCAT2Main
if (aName == null) {
aName = VCAT2Main.class.getSimpleName();
}
else if (aName.equals("Main")) {
aName = VCAT2Main.class.getSimpleName();
}
return super.pageWithName(aName, aContext);
}
There may be a better solution, but this has worked for me.
Steve