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