Режим 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" />

но я не могу понять идею об этом.

5 ответов


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

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

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

  3. Правой Кнопкой Мыши на проекте в Eclipse, перейдите в окно конфигураций , и создайте новое "Java-приложение", назовите его чем-то вроде"GWT Super Dev Mode".

  4. в окне Выполнить конфигурации выполните следующие действия:

    1. установите проект на основе вашего имени проекта и введите основной класс как com.гуглить.ГВт.разработка.codeserver.CodeServer

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

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

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

  5. после этого вы получите URL, например, localhost: 9876/

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

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


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

чтобы работать в режиме Super Dev, вы должны пройти 2 подготовительных шага:

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

    <add-linker name="xsiframe" />
    

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

    Примечание: этот компоновщик будет по умолчанию в 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, тогда вам придется белый список хоста. Это делается с помощью regexp, например:

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

    см.https://stackoverflow.com/a/21938574/116472

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

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

как только это будет сделано, вы можете начать сеанс режима Super Dev:

  1. запуск 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 Mode On и Dev Mode Off ссылки на ваши закладки (перетащите их на панель закладок).

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

  2. Откройте приложение в браузере, затем нажмите Dev Mode On букмарклет. Нажмите Compile кнопка во всплывающем окне, которое открывается. Он должен обновить страницу и загрузить JS от CodeServer, а не с вашего сервера. Инструменты разработки вашего браузера также должны загружать исходные Карты, чтобы вы могли видеть и отлаживать (шаг за шагом) свой Java-код.

  3. когда вы хотите проверить изменения, внесенные в код, нажмите Dev Mode On букмарклет снова. В отличие от DevMode, обновление страницы не заставит ее запускать новый код; код должен быть сначала перекомпилирован, и это делается при нажатии кнопки Compile после Dev Mode On букмарклет (Примечание: Вы также можете напрямую закладка Compile кнопка для сохранения клика, но обратите внимание, что она привязана к вашему модулю, поэтому вам понадобится несколько закладок, если вы работаете с несколькими модулями).

  4. когда вы закончите, нажмите Dev Mode Off чтобы убедиться, что вы вернуться к режим производства, затем выключить


Я написал простое пошаговое руководство для отладки проекта hello world с помощью super-dev-mode здесь.

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

enter image description here

также вы можете прочитать о технологии -

GWT SuperDevMode -Рэй Кромвель Пост и руководство GWT Dev

SourceMaps - GWT и Sourcemaps и HTML5 Sourcemaps


посмотрите это видео, может помочь

http://jeff-davis.blogspot.fr/2012/07/setting-up-gwt-25s-superdevmode.html


теперь это очень просто.

проверить это

а затем добавьте это jar к вашему classpath

Как пояснил здесь