GWT Компилировать диалог «Добавить модуль точки входа» - PullRequest
15 голосов
/ 26 февраля 2010

Может кто-нибудь объяснить, где плагин Eclipse GWT определяет его точки входа?

В попытке заставить мой старый проект GWT снова работать с GWT 2.0, я создал проект EWip 2.0 по умолчанию в Eclipse и смогзапустить его успешно.Это тот, который запрашивает имя и вызывает сервлет 'greet' на сервере, который отвечает и т.д. ... пока все хорошо.

Затем я перенес все классы из моего старого проекта GWT maven в этот новый проект GWT в надежде заставить вызовы RPC работать.У него было много зависимостей, поэтому я также скопировал файл maven pom.xml, закомментировал все связанные с gwt плагины в pom и сумел подключить Eclipse M2Eclipse maven для распознавания pom и принятия всех зависимостей maven.Все проблемы в Eclipse теперь решены, и все выглядит хорошо.

Однако, когда я нажимаю на иконку компиляции GWT для проекта, появляется диалоговое окно «Компиляция GWT», теперь запрашивающее у меня «Добавить модуль точки входа».В этом диалоговом окне нет точек входа для выбора.Это расстраивает, потому что я сохранил тот же GWTApp.gwt.xml и переместил свой код в ранее работающий автоматически сгенерированный класс GWTApp.java.

Я не могу представить, почему плагин Eclipse не смотрит в файл GWTApp.gwt.xml, чтобы выяснить, каковы точки входа.

Кто-нибудь может объяснить, как определяются эти точки входа, или предложить, почему проект перестал работать?

Спасибо!

Ответы [ 6 ]

18 голосов
/ 11 января 2015

Я уверен, что следующая проблема и решение. Я занимаюсь GWT около 6 лет.

Всякий раз, когда вы импортируете существующий проект maven (а именно из сгенерированного Mojo проекта типа, но, возможно, других) в eclipse, вы получите поврежденную конфигурацию, которая не позволит вам отладить, пока вы не исправите ее. Но исправить это просто. Что произойдет, так это то, что путь сборки будет настроен так, чтобы исключить все файлы из '[proj] / src / main / resources', и это приведет к скрытию файла модуля [proj] .gwt.xml из eclipse. Так что все диалоги GWT, которые ищут эти модули, не могут их видеть! Так что вы даже не можете создать отладочную конфигурацию, которая работает.

Вот исправление:

Щелкните правой кнопкой мыши по проекту и откройте диалоговое окно "Свойства -> Путь к сборке" -> вкладка "Источник" и найдите тот, заканчивающийся в "... / src / main / resources", и вы увидите, что он исключен: . Так что выделите только эту запись и удалите «», чтобы она гласила «Исключено: (Нет)». Теперь диалоги (а именно диалог настройки отладки) для GWT все увидят ваш файл модуля, и все будет работать.

7 голосов
/ 26 февраля 2010

Просто чтобы быть уверенным, что это не будет похоже на в этом случае , где фильтр исключения был слишком большим?

<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" 
   path="target/base-resources"/>

Я думаю, что у вас может быть фильтр исключения, который слишком агрессивен в вашем каталоге "target/base-resources".
Кажется, у вас есть фильтр исключения "**". Разве это не соответствует всему?

Вы правы! Это была проблема! :)))
Я не знал, что такое фильтр исключения, и каким-то образом он был добавлен автоматически во время разработки.

6 голосов
/ 28 февраля 2010

Спасибо за предложения к моему вопросу - вы подсказали мне найти ответ. Я посмотрел и не имел никаких фильтров исключения, но проверил Java Build Path в свойствах проекта.

Когда я добавил зависимости maven, он, должно быть, неявно изменил определенный исходный каталог проекта GWT eclipse. (Вероятно, к src / main / java или какому-нибудь этому тупому длинному пути maven по умолчанию). В Eclipse не было никаких намеков на то, что классы Java не находятся на пути сборки проекта. После того, как я определил каталог src для проекта, модуль gwt.xml появился в диалоговом окне GWT Compile!

Перейдем к следующему препятствию ... потому что оно еще не работает! :(

Спасибо за вашу помощь!

3 голосов
/ 16 июня 2011

Плагин Eclipse Maven от Sonatype печально известен многими вещами. Одним из них является исключение всех файлов в папке ресурсов вашего maven для данного модуля всякий раз, когда вы позволяете ему пересобрать путь к классу eclipse.

m2eclipse, вероятно, будет единственной причиной, по которой я переоцениваю использование Intellij ...

2 голосов
/ 31 января 2013

У меня была такая же проблема.

Щелкните правой кнопкой мыши проект и выберите свойства .....

Было пустое диалоговое окно (точки входа не предлагались).
После некоторых копаний я обнаружил, что файл mymodule.gwt.xml был случайно помечен как «lib» в .classpath (файл проекта eclipse в корне папки проекта). Кажется, он был помечен как "lib" при автоматической генерации .classpath (я импортировал проект GWT чистого maven, а не проект eclipse).

Просто удалите строку с mymodule.gwt.xml из файла .classpath, потому что она находится в src / main / resources, что является обычным "src" classpath.

0 голосов
/ 26 февраля 2010

Щелкните правой кнопкой мыши проект и выберите свойства. Разверните и выберите Google -> Web Toolkit. На правой панели будет раздел под названием Модули точки входа . Нажмите кнопку добавления и выберите файл .gwt.xml.

...