Запуск GWT SuperDevMode в IDEA на Win8

Я пытаюсь настроить свой проект GWT для работы в SuperDevMode и испытываю серьезные проблемы во время работы сервера.

Итак, у меня есть рабочая «обычная» конфигурация devMode в Intellij IDEA. Создал новую конфигурацию GWT в списке серверов приложений. Установите следующие значения:

[Проверено] Режим Super Dev

Параметры ВМ: -Xmx512m -XX:MaxPermSize=384M

Параметры режима разработки: -bindAddress 0.0.0.0 -port 1234 -workDir d:\projects\myApp\SDV\ -src d:\projects\myApp\src\main\java com.app.MyApp

Внесены изменения в XML-файл сборки моего проекта, добавив строки в конец файла:

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

Вот вывод консоли при выполнении этой конфигурации:

workDir: d:\projects\myApp\SDV
deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1
binding: user.agent=safari
binding: compiler.useSourceMaps=true
binding: locale=en
Compiling module com.app.MyApp
   Compiling 1 permutation
      Compiling permutation 0...
      Source Maps Enabled
   Compile of permutations succeeded
Linking into d:\projects\myApp\SDV\com.app.MyApp\compile-1\war\myapp; Writing extras to d:\projects\myApp\SDV\com.app.MyApp\compile-1\extras\myapp
   Link succeeded
   Compilation succeeded -- 84.458s
Compile completed in 85210 ms
deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1
[ERROR] unable to create directory: d:\projects\myApp\SDV\com.app.MyApp\compile-1
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at com.google.gwt.dev.codeserver.CompileDir.mkdir(CompileDir.java:103)
    at com.google.gwt.dev.codeserver.CompileDir.create(CompileDir.java:93)
    at com.google.gwt.dev.codeserver.Recompiler.makeCompileDir(Recompiler.java:267)
    at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:82)
    ....
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 1

Я подозреваю, что это может быть проблема с правами доступа к файлам Win8: не удается создать каталог, потому что он не был успешно удален. Обе строки в журнале выше, которые имеют этот текст:

deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1

в IDEA красного цвета (если это имеет особое значение).

Я снял флажок READ_ONLY в свойствах рабочей папки в проводнике, а также запустил idea64.exe от имени администратора. Должен ли я как-то запускать этот компилятор кодового сервера «от имени администратора»? Является ли это возможным?

Также это может быть проблема с конфигурацией, если это так, и кто-то может увидеть это из деталей ниже - я был бы очень признателен за помощь. Заранее спасибо!

ОБНОВЛЕНИЕ

Запуск конфига superDevMode с параметром "-noprecompile" дает те же результаты:

workDir: d:\projects\myApp\sdv
deleting: d:\projects\myApp\sdv\com.app.MyApp\compile-1
Module setup completed in 865 ms
deleting: d:\projects\myApp\sdv\com.app.MyApp\compile-1
[ERROR] unable to create directory: d:\projects\myApp\sdv\com.app.MyApp\compile-1
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at com.google.gwt.dev.codeserver.CompileDir.mkdir(CompileDir.java:103)
    at com.google.gwt.dev.codeserver.CompileDir.create(CompileDir.java:93)
    at com.google.gwt.dev.codeserver.Recompiler.makeCompileDir(Recompiler.java:267)

Таким образом, определенно проблема с доступом к файлу (удаление не выполняет свою работу?). Javadoc к методу CompileDir.create() говорит: "Creates a new compileDir directory structure. The directory must not already exist, but its parent should exist." Кажется, что он уже существует.


person alexp    schedule 06.12.2013    source источник
comment
Это при каждой компиляции или через какое-то время? Ваш временный диск может быть просто заполнен.   -  person Ajax    schedule 05.02.2014
comment
Я не могу скомпилировать ни разу. Так что это настоящий шоу-стоппер для меня. Много места на диске.   -  person alexp    schedule 05.02.2014
comment
Я создал задачу GWT, чтобы отслеживать это: code.google. .com/p/google-web-toolkit/issues/detail?id=8619   -  person Brian Slesinsky    schedule 09.03.2014
comment
Спасибо, Брайан, я буду следить за этим.   -  person alexp    schedule 10.03.2014


Ответы (3)


Я думаю, что ваша конфигурация правильная. Я использую те же параметры (с другим номером порта) на своем Mac, и он работает, как и ожидалось.

Красный цвет текста:

deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1

является нормальным и указывает на отсутствие проблем.

Я не знаком с Windows 8, но думаю, что запускать idea.exe с правами администратора не нужно. Я думаю, что снятие флажка только для чтения должно решить ваши проблемы.

Другой способ должен заключаться в том, что вы создаете свой каталог workDir с помощью Intellij.

Файл -> Создать -> каталог

(Это то, что я сделал).

person El Hoss    schedule 06.12.2013
comment
› создайте каталог workDir с помощью Intellij. Не помогло. Спасибо хоть. - person alexp; 06.12.2013

Итак, теперь это исправлено в GWT 2.7.0 командой GWT. https://code.google.com/p/google-web-toolkit/issues/detail?id=8619

Работает хорошо, хотя я вижу сообщение в консоли IDE:

[ПРЕДУПРЕЖДЕНИЕ] невозможно удалить 'C:\Users\me\AppData\Local\Temp\gwt-codeserver-1341369077945982663.tmp\com.bla.MyAPP\compile-1' (пропущено)
[ОШИБКА] невозможно создать каталог: C:\Users\me\AppData\Local\Temp\gwt-codeserver-1341369077945982663.tmp\com.bla.MyAPP\compile-1
Загрузка файлов Java в com.bla.MyAPP.

после печати этого IDE продолжает запускать сервер приложений.

Решение проблемы.

person alexp    schedule 30.04.2015

Я также обнаружил, что если вы конвертируете свой проект с GWT 2.6.0 на 2.7.0, вам следует удалить конфигурацию запуска 2.6.0 и настроить новую со значениями по умолчанию GWT 2.7.0.

person Jason Washo    schedule 02.05.2015