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

Spring boot devtools - перезагрузка статического содержимого не работает в IntelliJ

При создании моего первого приложения загрузки Spring я обнаружил, что мне нужно перезапустить приложение каждый раз, когда я вношу изменения в файл Javascript в /resources/static/some -file.js

Это очень трудоемко.

Когда я перемещаю файлы в папку /webapps/, он работает так, как ожидалось, но файлы не упаковываются в JAR. Документы упоминают об этом, поэтому я не могу продолжать этот путь.

Я прочитал все о spring-boot-devtools и установил его в своем POM, но hotswapping не работает, чтобы работать. Мне все равно нужно перезапустить все приложение, чтобы увидеть изменение файла Javascript или CSS.

Когда приложение запустится, я вижу строку LiveReload server is running on port 35729, поэтому spring-boot-devtools должен что-то делать...

Какими будут шаги для дальнейшего изучения того, что происходит не так?

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

PS: Я использую Maven, IntelliJ IDEA 15 и Spring Boot 1.3.3 со встроенным сервером Tomcat. Я не уверен, какую команду IntelliJ запускает для запуска приложения. IDE обрабатывает это "автоматически". Возможно, мне нужно изменить конфигурацию запуска?

4b9b3361

Ответ 1

Вам нужно включить несколько функций в IntelliJ, чтобы сделать эту работу.

Во-первых, существует специфический для проекта параметр, который вам нужно применить в любом проекте, в котором вы хотите использовать devtools. Перейдите в раздел "Настройки" > "Компилятор" и включите "Сделать проект автоматически".

Следующий параметр - это параметр реестра IDEA, который применяется ко всем проектам.

  • В OSX нажмите Shift+Command+A (Shift+Ctrl+A в Windows)
  • Введите "Реестр" в появившемся окне поиска и выберите реестр, чтобы открыть его.
  • Lookup compiler.automake.allow.when.app.running и включить его.

После этого перезагрузите приложение. Вы заметите, что проект продолжает перестраиваться с каждым сделанным вами изменением. Когда вы проверите результат в браузере, вы увидите обновленные статические файлы и код.

Я также написал сообщение в блоге об этом некоторое время назад. http://patrickgrimard.com/2016/01/18/spring-boot-devtools-first-look/

Ответ 2

Для пользователей Windows следующие шаги:
1) Перейдите в "Файл- > Настройки", затем в "Сборка, выполнение, развертывание" → "Компилятор" и включите флаг "Сделать проект автоматически".
2) Нажмите Ctrl-Alt-Shift-/и выберите "Реестр" в появившемся меню. Включить флаг compiler.automake.allow.when.app.running.
3) Запустите/перезапустите приложение и наблюдайте перезагрузку статического содержимого.