Плагин gwt для playframework не может обрабатывать зависимости модуля - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть приложение play-framework, которое использует один модуль, который я создал с помощью play new-module , а затем добавил его в dependencies.yml в мое приложение.

Я протестировал мой модуль с play deps , play mymodule: привет из приложения flolder - все в порядке.

[myapplication --- использует ---> mymodule]

Но когда я пытаюсь скомпилировать этот модуль с помощью play gwt2: compile У меня возникает ошибка, что приложение можетне найти / разрешить классы из mymodule .

Так почему gwt не может скомпилировать мое приложение, если модуль уже разрешен в приложении?

PS Я использую gwt2-1.7 плагин и приложение работает хорошо, если я не использую какие-либо модули для него.

1 Ответ

0 голосов
/ 16 сентября 2011

Я решил эту проблему, исправив код плагина gwt2-play . Поэтому добавили одну строку кода в файл devmode.py:

cp.append(os.path.normpath(os.path.join(application_path, 'lib/gwt-user.jar')))
cp.append(os.path.normpath(os.path.join(gwt2_module_dir, 'app')))
cp.append(os.path.normpath(os.path.join(gwt2_module_dir, 'hack')))
cp.append(os.path.normpath(os.path.join(application_path, 'app')))
#added by me
cp.append(app.readConf('gwt2.additional_classpath_entry'))

Это позволяет нам указать дополнительные записи пути к классам в application.conf. Как это:

gwt2.additional_classpath_entry = /home/me/projects/myproject/my_modules/my_module/app

и, это важно: если мы хотим иметь такую ​​зависимость [my_pplication] --- использует -> [my_module]

и если мы хотим использовать классы из my_moudle в наших gwt-сервисах в my_application, то мы должны сделать my_moudle gwt-модулем с помощью play gwt2: init, play gwt2: create и добавить эти классы в while список вроде этого:

package gwt.myproject.client;

import com.google.gwt.user.client.rpc.IsSerializable;
import gwt.mymodule.shared.MyModuleClass;

public class WhiteList implements IsSerializable {

    public MyModuleClass mymoduleObject;

} 
...