Компиляция GWT "Добавить модуль точки входа"

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

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

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

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

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

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

Спасибо!

Ответы

Ответ 1

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

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

На следующий барьер... пока он еще не работает!:(

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

Ответ 2

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

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

Здесь исправление:

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

Ответ 3

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

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

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

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

Ответ 4

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

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

Ответ 5

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

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

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

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

Ответ 6

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