Как предотвратить перезапись аргументов командной строки конфигурации запуска для моего проекта GWT?

У меня есть многомодульный проект GWT, который я пытаюсь отладить с помощью SuperDevMode (или, может быть, новое имя - GWT Dev Mode с Jetty) в Eclipse.

Я использую:

  • Марс.2 (версия 4.5.2)
  • GWT 2.7 SDK (хотя также установлен 2.8.1)
  • GWT Eclipse Plugin 3.0.0
  • Интеграция Maven для Eclipse JDT 1.3.0
  • gwt-maven-plugin версия 1.0-rc-8

В прошлом время от времени при запуске GWT Dev Mode запуск завершался неудачей со следующим сообщением:

Runing CodeServer with parameters: [-noprecompile, -port, 9876, -sourceLevel,
1.7, -bindAddress, 127.0.0.1, -launcherDir,
/Users/SomeUser/Documents/customers/SomeCustomer/dev/workspace/FolderName/target/NAME-0.0.1-SNAPSHOT,
-logLevel, INFO, ca.example.Name, .module]
Invalid module name: '.module'
Google Web Toolkit 2.7.0

(Да, он говорит "бег", а не "бег", я просто заметил это). Обратите внимание, что я изменил некоторые пути и имена классов, но эти изменения не должны быть значительными.

Я решил эту проблему, отредактировав конфигурацию запуска. Оказывается, в конец был добавлен дополнительный аргумент командной строки, ".module". Когда я уберу этот аргумент, я смогу отладить.

Но этот аргумент продолжает возвращаться. В последнее время он возвращается каждый раз, когда я пытаюсь отладить приложение, используя Run As -> GWT Dev Mode с Jetty.

Я попытался использовать цель gwt:devmode maven, и до сих пор она работает нормально.

Я также попытался сохранить локальную копию конфигурации запуска. Сохраненная конфигурация выглядит нормально, но когда я пытаюсь ее запустить, ".module" добавляется до начала сеанса отладки, и я получаю ту же ошибку.

Я думаю, я мог бы просто начать использовать gwt: devmode для запуска моих сеансов отладки, но среда отладки немного отличается, поэтому я хотел бы иметь возможность продолжать использовать GWT Dev Mode с Jetty.

Кто-нибудь сталкивался с этой фантомной вставкой ".module" и выяснил, как заставить Eclipse прекратить это делать?

2 ответа

Быстрое исправление: в eclipse вы можете сохранить конфигурацию запуска в виде XML-файла и зафиксировать ее в своем репозитории, чтобы у всех разработчиков была правильная конфигурация.

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

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

Тем не менее, проблема, похоже, исчезнет, ​​когда мы снова добавим файл определения модуля.

Я имею в виду...

Основываясь на некотором случайном поиске в Google, когда мы конвертируем проект GWT в maven, мы перемещаем файл определения модуля из

packagename/modulename.gwt.xml

в

src/main/module.gwt.xml,

Это может вызвать вышеуказанные проблемы.

Для решения проблемы я скопировал

src/main/module.gwt.xml

вернуться к

packagename/modulename.gwt.xml

и проблема исчезает, за исключением, иногда, самого первого раза, когда мы пытаемся запустить проект в "режиме разработки GWT с Jetty". И да, я знаю, что теперь у нас есть две копии файла, и это кажется неправильным.

Я не знаю, почему это происходит, и подумал, что определение модуля должно быть в src/main/module.gwt.xml. Но это работает, поэтому я могу жить с этим сейчас.

Другие вопросы по тегам