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

Hot Deploy JSP после модификации с Intellij 10.X и tomcat 6.X

У меня есть приложение Hello-World с одним java-классом и одним jsp. JSP распечатывает текст, встроенный в JSP и из класса java. (Он печатает две вещи)

Я следил за направлениями здесь, чтобы создать и развернуть мое приложение, и это (в основном) РАБОТЫ! Я могу вызвать JSP, и он правильно отображает страницу. Я также могу отключить изменения в классе java после нажатия кнопки перезагрузки Intellij.

Проблема. Если я изменю JSP, это не отразится на browswer.

Я проверил следующее:

  • web.xml в каталоге Tomcat/conf не переопределяет значение "development". Значение по умолчанию - true.
  • context.xml как в HelloWorld\web\META-INF\context.xml, так и в Tomcat\conf\context.xml имеет reloadable = true
  • Что JSP копируется из C:\code\HelloWorld\web\index.jsp в C:\code\HelloWorld\out\artifacts\HelloWorld_war_exploded\index.jsp при любом изменении немедленно
  • Не проблема с кешем браузера

любые мысли?

4b9b3361

Ответ 1

Я использую Intellij IDEA 10.0.3 и столкнулся с той же проблемой. Я разрешил его, установив параметр " Обновить ресурсы при деактивации фреймов" в настройках сервера tomcat в разделе "Конфигурация запуска/отладки". Надеюсь, это поможет.

Ответ 2

Как я отвечаю на этот вопрос, IntelliJ IDEA находится в версии 13.0.2. Варианты немного отличаются, поскольку этот вопрос был задан. Короче говоря, с помощью панели "Run/Debug Configurations" для вашего проекта:

  • Убедитесь, что ваш проект настроен на развертывание как "взорван в войне" (через "Развертывание" ).
  • На вкладке "Сервер" установите "Отключить фрейм" на "Обновить классы и ресурсы"

Следуя этим двум шагам, по порядку приведет к "горячей замене" проекта, когда IDEA теряет фокус (т.е. когда вы меняете фокус на веб-браузер).

Полные инструкции доступны на http://www.jetbrains.com/help/idea/2016.1/updating-applications-on-application-servers.html?search=application%20servers

Ответ 3

Попробуйте отредактировать Run/Debug Configuration, перейдите на вкладку "Развертывание" и разверните взорванный военный файл.

Ответ 4

Несколько лет назад у меня Tomcat сконфигурировал перекомпилировать jsp, когда увидел изменение в измененное время. Недавно я попробовал те же настройки, но для меня это не сработало.

В моей ситуации изменения, которые мне нужно было увидеть, были в основном изменениями в html, и поэтому я смог инкапсулировать большую часть html в отдельный файл html. Затем я включаю его содержимое в jsp, используя прочитанный файл. Затем я смог немедленно внести изменения в html, отраженные в браузере, без повторного развертывания. Обратите внимание, что jsp include не выполнял трюк (он кэшировал html), должен был прочитать файл, используя считыватель файлов в java-помощнике, чтобы вернуть строку в jsp. (вы можете поместить java-логику в jsp, но это вовсе не mvc-подобное)

Одно из предостережений в этом подходе заключается в слиянии переменных данных в файле read html. Есть несколько подходов, которые вы можете использовать. 1. составите свой собственный алгоритм замены строк и попросите ваше вспомогательное приложение динамически заменить строки 2. выведите данные переменной в блок javascript и дайте javascript обновить значения html в вашем файле, прочитав html-блок (если у вас есть javascript chops pull это выключено).