如何将自定义类添加到EntryPoint外的GWT项目

问题描述:

我必须将JavaFX应用程序转换为GWT实现,但我不完全理解GWT应用程序的某些结构。如何将自定义类添加到EntryPoint外的GWT项目

在我的入口点类中,我创建了我需要的所有gwt元素,但是我想包含一些其他类来添加一些功能。然而每当我尝试编译GWT项目时,我都会遇到以下错误。

[ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly 

的SRC结构是:

src.com.Application 
| 
+-- Client 
| | 
| +-- Application 
| +-- ApplicationService 
| +-- ApplicationServiceAsync 
|  
+-- Controller 
| | 
| +-- ParameterController 
| +-- PopupController 
|  
+-- Server 
| | 
| +-- ApplicationServiceImpl 

Application.gwt.xm升文件看起来像这样:

<module rename-to="Application"> 

    <!-- Inherit the core Web Toolkit stuff.     --> 
    <inherits name='com.google.gwt.user.User'/>    --> 

    <!-- Specify the app entry point class.     --> 
    <entry-point class='com.Application.client.Application'/> 

    <!--Specify the GWT style sheet       --> 
    <inherits name='com.google.gwt.user.theme.clean.Clean'/> 

    <!-- Specify the app servlets.     --> 
    <servlet path='/ApplicationService' class='com.Application.server.ApplicationServiceImpl'/> 

    <source path="com.Application.Controllers.ParameterController" /> 
</module> 

如果我删除的ParameterController.java所有引用的Application.java和注释掉源标签我的Application.gwt.xm文件编译并以chrome打开,并且没有任何功能的所有空元素。

我如何允许Application.java以外的代码在我的gwt项目中可用?是否有一些具体的类ParameterController.java必须继承为可编译的,如果是的话是什么?

如果您未指定任何<source/>元素,则仅添加客户端软件包以进行编译,因为默认值为<source path="Client">
在您的示例中,将由GWT编译器编译(并且可在客户端使用)的唯一代码是ParameterController
通过还将<source path="Client">添加到您的*.gwt.xml文件中,问题应该得到解决。
(此外,软件包名称不应使用大写字母。)