Intellij IDEA HotSwap с Tomcat работает для классов, но не для JSP

Я делаю военное развертывание (не взрывную войну) в Tomcat7 с IntelliJ IDEA 14. Мое веб-приложение состоит из 2 войн:

  • views.war (классы Struts, JSP)
  • business.war (Бизнес, персистентность и WS)

Итак, мой CATALINA_HOME/webapps содержит:

  • ROOT /
  • просмотров/
  • бизнес/

Там содержимое в порядке.

А мой CATALINA_BASE/work/catalina/localhost... (переопределенный IDEA) содержит сгенерированные сервлеты (_jsp.class + sources).

Любопытно, что если я внесу изменение в класс представлений Java и перекомпилирую (Ctrl+Maj+F9), мое изменение вступит в силу немедленно. Но если я внесу изменения в JSP, мне придется повторно развернуть. Ctrl+Maj+F9 и HotSwap не работает.

После внесения изменений в JSP я увидел, что файл JSP изменен в моей папке CATALINA_HOME/webapps. Но класс java (myJsp_jsp.java) в CATALINA_BASE/work/catalina/localhost... никогда не меняется, пока я не перезапущу сервер или не переустановлю приложение.

Любая идея? Спасибо

1 ответ

Я понял, что Hotswap использует JVM. Так что это просто работает с классами Java.

Я должен использовать Разнесенную войну, которая напрямую использует файлы в целевой папке Maven со специальной конфигурацией для моего Tomcat. Так что Tomcat не читает файлы папки webapps.

Другие вопросы по тегам