GWT超级开发模式:使用多个项目/继承

时间:2014-07-16 07:51:22

标签: java gwt gwt-super-dev-mode

我的项目结构

核心项目(它有单独的模块.xml文件)       CoreProject.gwt.xml(它没有定义任何入口点)

它有抽象入口点类这个核心项目用于

项目A (它在模块.xml文件中继承了Core Project。这有入口点类)      的 ProjectA.gwt.xml                 ProjectA EntryPoint直接扩展了Abstract CoreProject EntryPoint类。

所以,当我尝试运行"项目A"作为超级开发模式的java应用程序(我在运行配置的类路径和源选项卡中添加了Core Project)

我的程序参数是

喜欢

-src src / com.xxx.CoreProject com.xxxx.ProjectA

所以输出是,它成功编译了CoreProject。但是当谈到" ProjectA"。它会引发错误。

ProjectA入口点类中的错误。无法找到CoreProject Entry Point的源代码。 你忘了继承这个模块吗?

我的工作环境: Eclipse Kepler。

....示例代码.....

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入口点类

public abstract class CoreProject implements EntryPoint {

// abstractMethods 

public void onModuleLoad() {
  // Code to Call those abstract Methods.

}

}

ProjectA gwt xml文件

<?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>

项目入口点

public class ProjectA extends CoreProject {

/// Implemented Logic for those abstract methods.
}

0 个答案:

没有答案