2015-03-27 2 views
0

Я использую регулярную структуру проекта GWT, которая генерируется при создании нового проекта GWT через плагин Eclipse GWT, например. com.mycompany.mygwtmodule.client для всех компонентов клиента, которые GWT-скомпилированы в JavaScript.Как я могу использовать пользовательскую структуру пакетов в проекте GWT?

Теперь я хочу добавить код клиента с пользовательской структурой пакета, например. org.othercompany.somepackage ...

Является ли это выполнимым? И если да, то как?

Мне не нужен обходной путь, если это невозможно. Тем не менее, вам все же может быть полезно узнать, почему я хочу это сделать: структура пользовательского пакета связана с сторонним модулем GWT, который используется моим проектом GWT. Мне просто нужен небольшой набор классов из него, который я скопировал в свой проект, а не включил весь модуль, который содержит много вещей, которые мне не нужны. Эти классы используют друг друга. Поскольку я вообще не хочу касаться их кода, я сохраняю их первоначальную структуру пакета.

То, что я пытался это добавить < исходного пути = «мой-затмение-проект-путь/SRC/орг/othercompany/somepackage»/> моего gwt.xml, но в режиме хоста я получаю сообщение об ошибке: «Нет исходного кода для типа org.othercompany.somepackage.SomeClass, вы забыли наследовать необходимый модуль?» Нет, я этого не делал ;-) Код есть все, но я не смог заставить GWT найти его.

Благодарим за любые полезные комментарии!

ответ

2

Его лучше создать два отдельных модуля, так как вы берете код из какой-либо другой сторонней банки. Сначала нужно создать модуль, который содержит структуру пакета - com.mycompany.mygwtmodule (один модуль) вторых создать еще один модуль -org.othercompany.somepackage (другой модуль)

Наследование второго модуля в первом module.gwt. xml

<inherits name="org.othercompany.somepackage" /> 
+0

Спасибо, да, это работает, и это определенно путь к правильному пути (на самом деле это то, как я делаю это в другом проект в более широком контексте). Но в гораздо меньшем контексте мой вопрос относится к тому, что я хотел бы сохранить все просто и легко, насколько это возможно.Таким образом, нет возможности скопировать этих сторонних участников в ту же самую исходную папку, что и остальная часть моего проекта GWT, сохранить имена сторонних пакетов и просто заставить GWT найти их как-то? –

+0

yup ... вы приветствуете –

1

Вам необходимо добавить другой источник в свои источники.

Это делается в вашем module.gwt.xml. Существует источник элемента, который перечислит все пакеты с исходным кодом, которые будут включены для клиента:

<source path="client" /> 
<source path="shared" /> 

будет включать в себя все пакеты клиента и совместно в код внешнего интерфейса.

Подробности можно найти здесь: http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuidePathFiltering

Update: если ваши пакеты не имеют общего пакета вам необходимо создать два отдельных модулей и один наследует другой.

Мы используем это много, это работает очень хорошо.

+0

Спасибо. Как я описал, это не сработает. Я предполагаю, что в исходном теге могут использоваться только подпакеты модуля модуля GWT (т. Е. Com.mycompany.mygwtmodule), поскольку указанный путь, по-видимому, с ним по какой-то причине я не понимаю. Таким образом, пользовательские пути пакетов, которые не являются подпунктами пути к модулю, будут игнорироваться - я думаю. BTW , похоже, не работает ... –

Смежные вопросы