2015-02-11 4 views
2

Я работаю над проектом с отдельными модулями. бэкенда для админ, клиента для пользователей и ядра для доли DAO слоя amongs серверных и клиента.
бэкенд модуль использует GWT и клиент использует Spring MVC. На бэкенд модуль, ядро ​​ модуль был включен deployment assembly. Моя серверная сторона DAO вводится Spring.
Все бобы (POJO), созданные в core модуль. Моя проблема заключается в том, что я хотел бы использовать эти компоненты из модуля ядра в моем проекте gwt (backend) или при использовании вызовов RPC.
Я пытался ответить на вопрос How can share bean from external library to GWT client?, но еще не удовлетворил. Я получил ниже ошибкиGWT: Как использовать бобы из отдельного модуля?

Нет исходный код не доступен для типа com.mycom.core.business.bean.TestBean; [ERROR] Подсказка: проверьте цепочку наследования из вашего модуля; она не может быть унаследовав требуемый модуль или модуль не может добавлять его исток записей правильно

Вот мои efforted коды ...

TestBean.java

public class TestBean { 
private int id; 

public final int getId() { 
    return id; 
} 

public final void setId(int id) { 
    this.id = id; 
} 
} 

beans.gwt.xml

<?xml version="1.0" encoding="UTF-8"?> 
<module> 
    <inherits name='com.google.gwt.user.User'/> 
    <source path="com.mycom.core.business.bean.TestBean"/> 
</module> 

Inherit beans.gwt.xml в моем App.gwt.xml как <inherits name='com.mycom.backend.beans'/>. Что мне не хватает?

Edit: Добавить образец файла проекта

Теперь я создал и загрузил модули выборки. Вы можете скачать его с google-drive URL. Этот файл содержит как бэкенд, так и ядро ​​ модулей.

  • ядро ​​ модуль был создан как простой проект Java с Eclipse IDE.

  • бэкенд модуль был создан GWT-ecliplse плагин (2.7 GWT версии и включают в себя коды генерируются) и добавить динамические веб-модуль 2,5 лица проекта.

Наконец, я построить и запустить с GWT-плагин Eclipse и вы можете проверить экран-съемки для

ClassPath

enter image description here Источник LookUp Путь

enter image description here Модули

enter image description here Ниже журнал ошибок в моей консоли

Super Dev Mode starting up 
workDir: /var/folders/mt/5287l4j94jd9rfqwqdqxr9zw0000gq/T/gwt-codeserver-7296341534601698800.tmp 
Loading Java files in com.mycom.backend.App. 
Ignored 1 unit with compilation errors in first pass. 
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors. 
Finding entry point classes 
    Tracing compile failure path for type 'com.mycom.backend.client.Backend' 
    [ERROR] Errors in 'file:/Applications/springsource/workspace/backend/src/com/mycom/backend/client/Backend.java' 
     [ERROR] Line 41: No source code is available for type com.mycom.core.business.bean.TestBean; did you forget to inherit a required module? 
    [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 
[WARN] Server class 'com.google.gwt.dev.shell.jetty.JDBCUnloader' could not be found in the web app, but was found on the system classpath 
[WARN] Adding classpath entry 'file:/Users/cataclysm/Desktop/eclipse%20(Luna)/Datas/gwt-2.7.0/gwt-dev.jar' to the web app classpath for this session 
For additional info see: file:/Users/cataclysm/Desktop/eclipse%20(Luna)/Datas/gwt-2.7.0/doc/helpInfo/webAppClassPath.html 

ответ

1

Файл модуля для beans должен находиться в папке/библиотеке core. Попробуйте переместить его в core/src/com/mycom/ и изменить путь по beans.gwt.xml в:

<source path="core"/> 

Помните, что по отношению к файлу модуля.

Затем измените запись в App.gwt.xml:

<inherits name='com.mycom.beans'/> 

Я не знаком с узлом развертывания, но убедитесь, что beans.gwt.xml присутствует в результирующей библиотеке банку (или копируется вместе с источниками).

+0

Вы не знаете, сколько я благодарю вас. Большое спасибо за вашу помощь. – Cataclysm

+0

Рад, что я смог помочь - пришлось пройти через те же испытания, когда я настраивал свой собственный проект, поэтому я знаю, насколько это может быть неприятно :) –

2

Источник пути вашего основного модуля должны быть доступны для GWT компиляции процесса. Убедитесь, что он добавлен либо в путь к классам, либо по пути поиска источника.

+0

Как я описал, я добавляю свой *** основной модуль *** через * сборку *. Таким образом, это можно увидеть в правой части окна *** backend *** module> Java Build Path> Projects, Order and Export tabs. Я также добавил вкладку «Классовая папка» со вкладки «Библиотеки» в папку *** *** ***, но ошибка все еще была. – Cataclysm

+0

И как именно вы создаете свой модуль приложения? –

+0

Я строю и запускаю с плагином GWT Eclipse, а не с maven. – Cataclysm