如何将自定义类添加到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
文件中,问题应该得到解决。
(此外,软件包名称不应使用大写字母。)