Режим разработки GWT с Eclipse / Maven - PullRequest
5 голосов
/ 25 августа 2010

Я только начинаю с GWT. Я использую Eclipse и установил плагин GWT.

Я следовал приведенным здесь инструкциям Maven GWT 2.0 и Eclipse , чтобы настроить проект GWT с использованием плагина gwt-maven-plugin. Когда я запускаю цели Maven gwt:compile gwt:run, запускается режим разработки GWT, и я могу скопировать URL-адрес из него в свой браузер и просмотреть ярлык.

Однако у проекта есть такая проблема:

Description: The web.xml file does not exist
Resource: WEB-INF   
Path: /GWTExample/war
Location: Unknown
Type: Google Web App Problem

Если я пытаюсь запустить проект как веб-приложение Google, я получаю это предупреждение:

[WARN] No startup URLs supplied and no plausible ones found -- use -startupUrl

Я могу избавиться от этой проблемы, скопировав web.xml в каталог war, но у меня все еще возникает проблема с URL при работе в качестве Google Web App.

Если я использую Maven и GWT в Eclipse, должен ли я просто игнорировать проблему web.xml и всегда запускать приложения в режиме разработки с помощью целей Maven? Или есть способ настроить все, чтобы я мог работать как Google Web App?

РЕДАКТИРОВАТЬ: В связи с вышеизложенным, возможно ли отладить приложение GWT, работающее в режиме разработки, запущенном gwt:compile gwt:run? Я добавил точки прерывания в свое приложение, но оно не останавливается на них. Я не уверен, что я что-то настроил неправильно или просто невозможно.

Обновление:

В ответ на ответ Прем ...

Когда я запускаю compile gwt:run, файл web.xml не копируется. Когда я запускаю install gwt:run, я получаю эту ошибку:

[INFO] --- gwt-maven-plugin:1.2:test (default) @ SampleGWT ---
[INFO] using GWT jars from project dependencies : 2.0.4
[INFO] establishing classpath list (scope = test)
[ERROR] java.lang.NoClassDefFoundError: org/codehaus/mojo/gwt/test/MavenTestRunner
[ERROR] Caused by: java.lang.ClassNotFoundException: org.codehaus.mojo.gwt.test.MavenTestRunner
[ERROR]     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[ERROR]     at java.security.AccessController.doPrivileged(Native Method)
[ERROR]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[ERROR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[ERROR]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[ERROR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[ERROR] Could not find the main class: org.codehaus.mojo.gwt.test.MavenTestRunner.  Program will exit.
[ERROR] Exception in thread "main"

Я предполагаю, что ошибка http://jira.codehaus.org/browse/MGWT-24 включена в версию 1.2 gwt-maven-plugin. Обычно я не запускаю install для проекта, который создает файл war, но я ожидаю, по крайней мере, пройти этап тестирования цикла сборки.

Кто-нибудь знает, почему я получаю эту ошибку при установке, а не цели компиляции? Кроме того, стоит ли ожидать от какой-либо цели копирования файла web.xml из src / main / webapp / WEB-INF / web.xml в каталог / war?

Ответы [ 3 ]

4 голосов
/ 30 августа 2010

Описание: файл web.xml не существует

gwt-maven-plugin создает проект с упаковочным форматом 'war' (это веб-приложение, поэтому здесь нет ничего удивительного). Файл Web.xml для этого проекта будет находиться в папке «src / main / webapp», которая будет скопирована в каталог «war» (который задается как выходной каталог) как часть фазы «resources» в сборке ресурса maven. цикл. Вы всегда должны использовать

mvn compile gwt: run

или

mvn install gwt: run

так, чтобы ресурсы копировались, все java-файлы компилировались, и также вызывался gwt: compile (поскольку он автоматически связан с фазой 'compile')

[ПРЕДУПРЕЖДЕНИЕ] Не указаны ни начальные URL-адреса, ни правдоподобные - use -startupUrl

Согласно ссылке на стек, который вы использовали в качестве ссылки, только ваш файл сборки maven настроен с помощью startupUrl. Чтобы он работал в Eclipse, вы должны отредактировать конфигурацию запуска вашего проекта и добавить аргументы командной строки '-statupUrl' к существующим аргументам на панели «Аргументы».

Однако это всего лишь предупреждение, и оно не должно мешать вам запускать ваше приложение GWT из затмения. Если вы также столкнулись с той же проблемой «web.xml», это может быть связано с тем, что вы не скомпилировали свой проект в IDE до вызова «Запуск от имени веб-приложения». Я предлагаю вам отключить опцию «Автоматически создавать» для этого проекта, всегда собирать его вручную, вызывать «GWT Compile» и затем пытаться «Запускать как веб-приложение»

РЕДАКТИРОВАТЬ: В связи с вышеизложенным, возможно ли отладить приложение GWT, работающее в режиме разработки, запущенном gwt: compile gwt: run?

В общем случае вы должны использовать конфигурацию отладки «Удаленное приложение» для удаленной отладки процесса. Однако я не уверен, будет ли это работать для проектов GWT.

0 голосов
/ 25 января 2013

Если вы щелкнете правой кнопкой мыши по своему проекту и перейдете в Свойства -> Google -> Веб-приложение, ваш каталог WAR может выглядеть примерно так: war или src/main/webapp/WEB-INF/classes.

Измените это на src/main/webapp. Также снимите флажок рядом с «Запуск и удаление из этого каталога ...»

Вот что исправило эту проблему для меня. В то же время исправлена ​​проблема «not find gwt-servlet.jar».

0 голосов
/ 14 декабря 2012

Я тоже получил это предупреждение:

Не указаны начальные URL и не найдены вероятные

когда я следовал этому учебнику gwt

На этом снимке экрана нет флажка «Создать образец кода». В моей IDE (SDK 2.5) это так, поэтому я не проверял ...

Не было создано ни одного из пакетов server и client, я создал client вручную, как требовалось руководство В учебнике до этого шага не сказано, что у меня тоже должен быть пакет server. Это и его конфигурация отсутствуют в проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...