Как перенести пользовательский подкласс GWT DevMode в GWT 2.7.0 Super Dev Mode

Долгое время мы запускали наше приложение на основе GWT в Eclipse, используя собственные подклассы com.google.gwt.core.ext.ServletContainerLauncher и com.google.gwt.dev.DevMode.

Это должно было позволить нам запустить наш собственный (новейший) Jetty, и со временем это дало нам некоторый другой контроль, то есть запуск сервера в Eclipse немного по-другому, чтобы позволить файлам распределяться по проектам Eclipse вместо того, чтобы находиться там, где они заканчиваются в производстве.

Это были эффективные смещения / переопределения / переопределения битов JettyLauncher.java и DevMode.java

Сейчас я пытаюсь перейти на GWT 2.7, и это больше не работает. В частности, это начинается с:

Started code server on port 9997
Loading modules
   com.<...>.ClientDev
      Public resources found in...
      Translatable source found in...
Starting HTTP on port 8008

Все, что я получаю, это то, что печально известный "клиент GWT-модуля" может быть (пере) скомпилирован ". Я вижу, что конфигурация запуска Eclipse теперь предлагает выбор между режимом super dev и "классическим". Я еще не изменил это (все еще в "классическом"), но идея в том, что нам нужно перейти к режиму Super Dev (преимущественно из-за скорости и поддержки, но классические функции и отладка в IDE будут упущены).

Я пытался найти документацию о том, что изменилось (или должно быть изменено в коде, таком как мой), чтобы перейти на 2.7, но пока не получилось. Кто-нибудь может помочь?

Спасибо!

1 ответ

Решение

Я не нашел никакой документации, но мне удалось начать. Вот что я должен был сделать:

  1. На самом деле мне вообще не пришлось менять код режима запуска / разработки.
  2. Файл Eclipse *.launch нужно было изменить, добавив аргумент -nosuperDevMode. Я не мог заставить режим super dev работать внутри него из-за конфликта между его собственным встроенным контейнером и моей более новой версией, и я не хотел тратить время на решение этой проблемы.
  3. Создайте новый способ независимого запуска com.google.gwt.dev.codeserver.CodeServer со следующими аргументами: -bindAddress [same-address-as-for-the-main-one] -port 9876 -launcherDir [war-folder- путь] [GWT-module-name]
  4. Очистить все куки. У CodeServer было переполнение буфера (ошибка http 413), потому что у меня было слишком много куки для него.
  5. Получите прямой доступ к URL-адресу CodeServer, чтобы добавить в браузер две закладки (Dev Mode On, Dev mode Off).
  6. Я предварительно скомпилировал свое приложение, просто чтобы убедиться, что у меня есть структуры, но это не должно быть необходимым, я думаю.
  7. Сначала запустите мой сервер.
  8. Запустите сервер кода второй.
  9. Включите режим разработки с помощью букмарклета.
  10. Доступ к моему приложению
Другие вопросы по тегам