Невозможно использовать класс в клиентском пакете с GWT

Я пытаюсь использовать класс myType, объявленный в пакете com.mycompany.myproject, в классе, который находится в com.mycompany.myproject.client, но при компиляции получаю следующие ошибки:

[ОШИБКА] Строка [X]: импорт com.mycompany.myproject.myType не может быть разрешен

Если я попытаюсь запустить размещенный браузер, я получаю:

[ОШИБКА] Строка [X]: исходный код недоступен для типа com.mycompany.myproject.myType; вы забыли унаследовать необходимый модуль?

Любая идея?


person JohnIdol    schedule 02.05.2009    source источник


Ответы (4)


Эта ошибка означает, что компилятор GWT не может найти ваш класс. Компилятор GWT может найти только классы, на которые ссылается файл .gwt.xml для вашего проекта.

Все это объясняется здесь: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html

person rustyshelf    schedule 02.05.2009

Компилятор сначала сканирует приложение module.gwt.XML. После этого модуль XML может унаследовать или унаследовать другой модуль xml. Модули также могут объявлять, какие пакеты они хотят сделать видимыми для компилятора.

• Не просто помещать файлы .java в путь компиляции, но необходимо использовать механизм XML модуля. Это потому, что не все подпакеты должны быть переводимыми, например, компонент сервлета, который дополняет предполагаемый компонент на стороне клиента.

person mP.    schedule 02.05.2009

структура проекта:

  • com.mycompany.service
  • com.mycompany.myproject
    • client
    • услуга
    • myproject.gwt.xml

исходным пакетом по умолчанию является «клиентский», который помещается в тот же каталог, что и файл gwt.xml. Если вы хотите добавить или изменить исходный каталог - вам необходимо отредактировать gwt.xml.

1) например, вы хотите сделать доступным для gwt пакет "com.my ~ ny.p ~ ct.service". В файле gwt.xml добавьте ‹source path =" service "/>.

значения атрибутов пути, такие как "../", "." - не будет работать.

2) если вы хотите сделать доступным пакет com.my ~ ny.service.

создайте модуль (файл gwt.xml) в com.mycompany,
где у вас есть каталог источника точки
и унаследуйте модуль пользователя gwt по умолчанию.

person signalpillar    schedule 05.05.2009

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

person Templar    schedule 07.06.2009