2017-02-23 104 views
0

Мне нужно принять приложение JavaFX и перевести его в реализацию GWT, но я не совсем понимаю часть структуры приложения GWT.Как добавить пользовательские классы в проект GWT за пределами EntryPoint

В моем классе точки входа я создаю все элементы 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.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 компилируется и открывается в хроме со всеми пустыми элементами без какой-либо функциональности.

Как я могу разрешить код за пределами Application.java быть полезным в моем проекте gwt? Есть ли какой-то определенный класс ParameterController.java, который должен наследовать, чтобы быть компилируемым, если да что?

ответ

0

Клиентский пакет добавляется только для компиляции, если вы не указали какой-либо элемент <source/>, поскольку по умолчанию <source path="Client">.
В вашем примере только код, который будет скомпилирован компилятором GWT (и может использоваться на стороне клиента), является вашим ParameterController.
Кроме того, добавив <source path="Client"> в ваш файл *.gwt.xml, проблема должна быть исправлена.
(Также имена пакетов не должны использоваться буквами капитолия.)