не удалось hotswap HTML-файл в Intellij с Tomcat 9 - PullRequest
0 голосов
/ 17 мая 2018

Я новичок в IntelliJ, и я создал конфигурацию запуска для отладки моего веб-приложения с помощью intellij.

Что я сделал:

  1. запустил мое приложение в режиме отладки intellijи увидел, что сервер успешно запущен, HTML-файл отображается правильно.
  2. изменил файл Java.
  3. изменил файл HTML.
  4. сохранил их.
  5. щелкнул где-то за пределами окна intellij, чтобы вызвать горячую замену.
  6. Я увидел всплывающее сообщение о том, что обновлен только 1 файл (это был файл Java).

Проблема, которую я обнаружил:

  1. HTML никогда не обновлялся.

Я заметил следующее:

  1. файл Java был перекомпилирован и успешно завершен.
  2. html-файл не был «hotswapped»:
    • Страница в браузере не отражала сделанные мной изменения.
    • html не обновлялся, даже если я обновлял веб-страницу вручную в браузере.
    • если я изменяю только html-файл в IntelliJ, всплывающее окно всегда будет содержать сообщение «загруженные классы обновлены. Ничего не загружать».
  3. , но я подтвердилhtml-источник успешно изменен, и html-файл, развернутый в развернутом каталоге war, также был успешно изменен.
  4. когда я нажал кнопку «redeploy», я увидел, что html обновляется.
  5. Я также попытался добавить cachingAllowed = "false" в файл tomcat context.xml, но безуспешно.

Мои вопросы:

  1. Как включить горячую замену в IntelliJ с tomcat9?(Я что-то пропустил?)
  2. В чем разница между "hotswap" и "redeploy"?

Спасибо.

Версия IntelliJ: Ultimate 2018.1

Версия Tomcat: apache-tomcat-9.0.7

no update

run config

1 Ответ

0 голосов
/ 29 мая 2018
  • ответ

Я нашел ответ здесь: https://intellij -support.jetbrains.com / hc / en-us / community / posts / 115000004090-Updating-HTML-и-ресурсы-без-перезапуска-сервера приложений Tomcat-8-Thymeleaf-3-Sparkjava-? Page = 1 # community_comment_360000203964

  • Причина, на которую указал Улис Сильваout: реализация TemplateResolver в Thymeleaf имеет атрибут «кешируемый» с атрибутом по умолчанию «true».

  • Решение

установить "Кэшируемый "атрибут в false, как показано в вашем определении TemplateResolver:

<property name="cacheable" value="false" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...