My Project Structure
Core Project (it has separate module .xml file) CoreProject.gwt.xml (it will not have any entry point defined)
it has abstract entry point class And this core project is used in
Project A
(It inherits Core Project in module .xml file. And this has the entry point class)
ProjectA.gwt.xml
And ProjectA EntryPoint extends Abstract CoreProject EntryPoint Class directly.
So when I try to run "Project A" as java application for super dev mode (I added Core Project in classpath and source tabs of Run Configuration)
and my program arguments is
like
-src src/ com.xxx.CoreProject com.xxxx.ProjectA
So the output is, It compiles the CoreProject Successfully. But when it comes to "ProjectA". it throws error.
Error in ProjectA entrypoint class. Not able to find source for CoreProject Entry Point. Did you forgot to inherit the module.
My Working Env: Eclipse Kepler.
.... Example Code .....
CoreProject.gwt.xml
<module rename-to='CoreProject'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name="com.xxxxxx.AppsCommonNoTheme" />
<!-- inherits name="com.smartgwt.SmartGwtNoScript"/ -->
<inherits name="com.smartgwt.tools.SmartGwtTools" />
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE'/>
<script src='scripts/jquery-1.6.4.js' />
<script src='scripts/strophe.js' />
<script src='scripts/bwboshconnector.js' />
<add-linker name="xsiframe" />
</module>
CoreProject Entry Point Class
public abstract class CoreProject implements EntryPoint {
// abstractMethods
public void onModuleLoad() {
// Code to Call those abstract Methods.
}
}
ProjectA gwt xml file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module rename-to="ProjectA">
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name="com.xxxx.CoreProject" />
<entry-point class='com.xxxxx.ProjectA ' />
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
<set-configuration-property name="devModeRedirectEnabled" value="true" />
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE'/>
<add-linker name="xsiframe" />
</module>
Project A Entry Point
public class ProjectA extends CoreProject {
/// Implemented Logic for those abstract methods.
}