Подтвердить что ты не робот

Режим Super Dev в GWT

Я новичок в gwt. Я не знаю, как запустить режим Super Dev. Мне нужно подробное объяснение шаг за шагом.

Я пробовал редактировать файл gwt.xml, добавив

<add-linker name="xsiframe"/>
  <set-configuration-property name="devModeRedirectEnabled" value="true"/>
  <set-property name="compiler.useSourceMaps" value="true" />

но я не могу получить представление об этом.

4b9b3361

Ответ 1

Выполните следующие действия, вы обязательно найдете решение.

  • Загрузите GWT 2.5 RC2 и поместите его куда-нибудь... Я поместил его в свой каталог eclipse/plugins. link

  • В Eclipse добавьте GWT 2.5 на экран Project -> Properties -> Google -> Web Toolkit -> Configure SDKs и выберите версию 2.5, добавленную в каталог на предыдущем шаге.

  • Щелкните правой кнопкой мыши по проекту в Eclipse, перейдите в окно Run Configurations и создайте новое "приложение Java", назовите его "GWT Super Dev Mode".

  • В окне Run Configurations сделайте следующее:

    • Задайте проект на основе имени вашего проекта и введите основной класс как com.google.gwt.dev.codeserver.CodeServer

    • На Classpath tab нажмите user Entries, затем нажмите Add External JARs, перейдите в каталог GWT 2.5 и найдите gwt-codeserver.jar и нажмите "Открыть" (и другие внешние библиотеки).

    • На вкладке "Аргументы" добавьте аргументы -src src/ *SOURCE PATH OF YOUR PROJECT* в программу и добавьте необязательные аргументы -Xmx1024m в VM.

    • Нажмите "Применить", затем перейдите и запустите проект.

  • После этого вы получите URL-адрес, например localhost: 9876/

  • Перейдите к этому URL-адресу и закладке Dev Mode ON и Dev MOde Off, затем запустите свой код, удалите суффикс gwt.codesvr = 127.00.1: 9997 в URL-адресе. Теперь нажмите Dev Mode ON...

Надеюсь, вы получите решение...

Ответ 2

UPDATE:, начиная с GWT 2.7, DevMode фактически будет использовать режим Super Dev автоматически по умолчанию, поэтому вам просто нужно запустить DevMode, как вы это делали ранее, и приложение будет (повторно) скомпилировано автоматически на странице (re) load.
Одно из отличий заключается в том, что создается специальный .nocache.js, поэтому вы должны убедиться, что этот конкретный файл загружен браузером; для отладки удаленного сервера (как вы могли бы сделать ранее с DevMode, работающим с -noserver), вам придется использовать букмарклеты, как описано ниже.

Для запуска в режиме Super Dev вы должны пройти 2 подготовительных этапа:

  • Режим Super Dev работает только с компоновщиком xsiframe, поэтому убедитесь, что у вас также есть следующая строка в .gwt.xml:

    <add-linker name="xsiframe" />
    

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

    Примечание:, что компоновщик будет по умолчанию в 2.7

    Если вы используете версию GWT до версии 2.6.0, вам также необходимо включить режим Super Dev в .gwt.xml:

    <set-configuration-property name="devModeRedirectEnabled" value="true" />
    

    В противном случае, если вы намерены использовать режим Super Dev с URL-адресом, отличным от 127.0.0.1 или localhost, тогда вам придется присваивать белый список хосту. Это делается с использованием регулярного выражения, например:

    <set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(mymachinename|192\.168\.5\.151)(:\d+)?/.*" />
    

    См. fooobar.com/questions/187841/...

  • Скомпилируйте и разверните приложение на веб-сервере рядом с вами (если вы использовали файл .gwt.xml, специфичный для режима Super Dev, убедитесь, что вы скомпилируете этот один модуль: компоновщик xsiframe и devModeRedirectEnabled необходимы для этого этапа компиляции!)

    Если вы используете GWT-RPC, установите системное свойство gwt.codeserver.port на порт, на котором вы включите режим Super Dev (по умолчанию - 9876), чтобы ваш сервер мог загружать политики сериализации RPC прямо из режима Super Dev.
    Если вы запускаете их на разных машинах, вам придется переопределить getCodeServerPolicyUrl во всех ваших RemoteServiceServlet s. Рассмотрите последствия безопасности, хотя, как отмечено в javadoc

После этого вы можете запустить сеанс режима Super Dev:

  • Запустите com.google.gwt.dev.codeserver.CodeServer с тем же путём классов, с которого вы запускаете DevMode с (т.е. gwt-user.jar, gwt-dev.jar и всеми вашими зависимостями на стороне клиента: например, GXT, GIN + Guice, GWTEventBinder и т.д.). но добавив gwt-codeserver.jar; и передав имя вашего модуля в качестве аргумента.

    Начнется с компиляции вашего модуля, чтобы проверить, что он может быть скомпилирован; вы можете пропустить этот шаг, передав -noprecompile в качестве аргумента.

    Если вы никогда не запускали режим Super Dev, перейдите в http://localhost:9876 и добавьте ссылки в режиме Dev On и Dev Mode Off к своим закладкам (перетащите их на панель закладок).

    Примечание. Если вы используете Maven, вы можете использовать mvn gwt:run-codeserver (обратите внимание: там есть ошибка в версиях плагина до 2.6.0, где вам действительно нужно запустить mvn process-classes gwt:run-codeserver; это исправлено в 2.6.1).

  • Откройте приложение в своем браузере, а затем нажмите кнопку "Режим" на "Буклетке". Нажмите кнопку "Скомпилировать" во всплывающем окне, которое открывается. Он должен обновить страницу и загрузить JS из CodeServer, а не из вашего сервера. Средства разработки браузера также должны загружать SourceMaps, чтобы вы могли видеть и отлаживать (шаг за шагом) ваш код Java.

  • Если вы хотите протестировать изменения, внесенные в ваш код, снова нажмите кнопку "Отменить" на закладке. В отличие от DevMode, обновление страницы не приведет к запуску нового кода; сначала необходимо перекомпилировать код, и это делается при нажатии кнопки "Скомпилировать" после кнопки "Отклик" в режиме "Вкл." (обратите внимание: вы также можете сразу пометить кнопку "Скомпилировать" , чтобы сохранить клик, но обратите внимание, что он связан с вашим модулем, поэтому вы 'd требуется несколько закладок, если вы работаете с несколькими модулями).

  • Когда вы закончите, нажмите Dev Mode Off, чтобы убедиться, что вы вернетесь в рабочий режим, затем завершите работу процесса CodeServer (Ctrl C в консоли).

Официальная документация на http://www.gwtproject.org/articles/superdevmode.html
См. Также http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/ для получения дополнительной информации о том, как работает режим Super Dev.

Ответ 3

Я написал простую пошаговую инструкцию по отладке проекта hello world с супер-dev-mode Здесь.

Прочитав пошаговое руководство со скриншотами, вы не можете пропустить его.

enter image description here

Кроме того, вы можете ознакомиться с технологией -

GWT SuperDevMode - Ray Cromwell Post и GWT Dev Guide

SourceMaps - GWT и Sourcemaps и HTML5 Sourcemaps

Ответ 5

Теперь это очень легко.

Проверьте это

а затем добавьте этот jar в свой путь к классам

как описано здесь