Изменения в файлах CSS и HTML в каталоге веб-приложений не подхватываются SuperDevMode.

Я думаю, что GWT должен автоматически подбирать и перезагружать изменения в файлы HTML и CSS для всего приложения, которые находятся в папке webapp. Однако в моем случае это просто не так, и GWT говорит: «Компиляция пропущена, потому что никакие входные файлы не изменились». Я не уверен, где я должен редактировать, чтобы эти файлы также можно было просматривать.

Этот проект был инициализирован с использованием старого плагина gwt-maven из https://gwt-maven-plugin.github.io/gwt-maven-plugin/user-guide/archetype.html.

Аргументы программы при запуске следующие: -war app/target/App-1.0-SNAPSHOT -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl index.html -logLevel INFO -codeServerPort 9997 -port 8888 com.example.www.App.App.

Или я просто не правильно понял и GWT просто не должен следить за изменениями в папке webapp? Это действительно замедлило бы темпы разработки интерфейса.


person xji    schedule 19.07.2018    source источник


Ответы (2)


GWT компилирует файлы .java (входные) в javascript. Поэтому, если вы изменяете только файл css, нет необходимости перекомпилировать его в js. Однако при создании файла войны файлы в каталоге public могут быть обновлены.

person Sal    schedule 19.07.2018
comment
Я понимаю. Хотя это означает, что единственным способом отразить эти изменения будет повторное создание файла WAR (по сути, для перезапуска SuperDevMode)? Таким образом, GWT действительно хочет, чтобы вы поместили как можно больше кода пользовательского интерфейса/стиля в отдельные виджеты. - person xji; 19.07.2018
comment
Что делать, если я все еще хочу написать CSS для всего приложения, но не хочу перезапускать каждый раз, чтобы отразить изменения. Нужно ли мне использовать внедрение CSS или что-то в этом роде? - person xji; 19.07.2018
comment
Не совсем, у вас есть варианты в зависимости от ваших потребностей. Проверьте этот ответ< /а>. - person Sal; 19.07.2018
comment
Спасибо. Это определенно полезно. - person xji; 19.07.2018

Нет, изменения src/main/webapp не отслеживаются. maven-war-plugin будет обрабатывать эти файлы в target/${finalName} (и копировать зависимости в него WEB-INF/lib, а классы проекта в WEB-INF/classes), а встроенный сервер в DevMode будет служить им как веб-приложение.

Чтобы обновить их, запустите mvn war:exploded -Dgwt.compiler.skip (или, возможно, mvn package -Dgwt.compiler.skip -DskipTests); а затем вы скажете DevMode перезагрузить веб-приложение (с его вкладки «Jetty»)

person Thomas Broyer    schedule 19.07.2018