Запуск PlayN в HTML DevMode

Я хотел бы иметь возможность запускать свой проект PlayN как веб-приложение в DevMode, чтобы я мог использовать быстрое обновление браузера, чтобы увидеть изменения кода без необходимости повторной компиляции. Из того, что я читаю на вики и на этот вопрос похоже, что это должно быть возможно.

Я настроил свой проект, используя: mvn archetype:generate -DarchetypeGroupId=com.googlecode.playn -DarchetypeArtifactId=playn-archetype -DarchetypeVersion=1.7 и импортировав pom.xml в eclipse.

Вот что я могу сделать:

  • Запуск из eclipse как приложения Java
  • Запустите сервер с помощью командной строки Maven: mvn -Phtml integration-test

Хотя я могу выполнять большую часть своего программирования на Java и иногда выполнять длинную сборку для тестирования HTML, мне бы хотелось иметь возможность изменять код во время тестирования HTML без перекомпиляции.

По умолчанию возможность запуска в качестве веб-приложения не отображается. Я попытался войти в свойства проекта и проверить параметры «Использовать Google App Engine» и «Использовать Google Web Toolkit», что создает параметр «Запуск от имени веб-приложения», но когда я это делаю, я получаю «Не удалось найти ни одного хост-страницы в проекте XXX".

Затем я пытаюсь установить каталог WAR в разделе «Свойства» -> «Веб-приложение Google». Однако ближе всего к WAR в проекте находится «src/main/webapp». Я пытался использовать это и получаю сообщение об ошибке: «Архив: /myproject-assets/src/main/java, на который ссылается путь к классам, не существует».

У меня такое чувство, что я все делаю неправильно. Может кто-то указать мне верное направление? То, что я делаю, вообще возможно? Спасибо!


person thomas88wp    schedule 08.06.2013    source источник


Ответы (1)


Это возможно, но просто знайте, что в режиме разработки playn работает очень медленно.

Я не знаю, как это сделать с eclipse, но с intelli IDEA вы делаете следующее:

  1. вам нужно создать модуль с военным артефактом (для запуска в качестве сервера)
  2. добавьте правильные библиотеки gwt, чтобы вы могли запускать сервер режима gwt dev с вышеупомянутым военным модулем.
  3. выберите сервер GAE (или любой сервер, совместимый с gwt, это будет сервер, на котором работает вышеупомянутый военный модуль).
  4. запустить его! см. этот скриншот http://screencast.com/t/qK4JKvF33V
  5. когда вы изменяете код, сервер gwt devmode должен обнаружить его и автоматически перекомпилировать (не уверен, что это должно быть в режиме отладки - я не думаю, что это так).

вы можете попробовать сделать это через командную строку, не уверен, что работает, но это то, что работает intellij (я вынул биты, специфичные для intellij):

java -cp CLASSPATH_WITH_GAE_DEV_TOOLS_AND_GWT_DEV_TOOLS com.google.gwt.dev.DevMode 
     -war /path/to/war 
     -startupUrl Roborally.html com.yourgame.YourGwtEntryModule 
     -server com.google.appengine.tools.development.gwt.AppEngineLauncher
person Chii    schedule 10.06.2013