2010-02-26 8 views
14

Может ли кто-нибудь объяснить, где плагин Eclipse GWT определяет его точки входа?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», предлагая мне «Добавить модуль точки входа». В этом диалоговом окне нет точек входа. Это разочаровывает, потому что я сохранил тот же GWTApp.gwt.xml и переместил мой код в ранее работающий автоматически сгенерированный класс GWTApp.java.

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

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

Спасибо!

ответ

6

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

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

К следующему препятствию ... coz он еще не работает!:(

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

7

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

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

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

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

0

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

3

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

m2eclipse, вероятно, будет единственной причиной того, что я заново оценить с помощью IntelliJ ...

2

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

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

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

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

17

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

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

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

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

+0

Я постараюсь, если это решает мою проблему, вы гениальны :) –

+0

ДАМН ЭТО! : D ты гениальный !!! –