Как настроить горячее развертывание в Eclipse
В этом руководстве мы покажем вам, как настроить отладчик Eclipse для поддержки горячего развертывания, горячей замены или горячей замены кода без перезапуска сервера, что значительно ускоряет разработку.
Окружающая обстановка :
-
Eclipse 4.4 (также поддерживается в более старой версии)
-
Eclipse Tomcat Plugin
1. Пример горячего развертывания
Просмотрите простой пример горячего развертывания: код изменяется без перезапуска плагина Tomcat. Предположим, что простой веб-проект Spring MVC развернут с помощью плагина Eclipse-Tomcat:
1.1 Исходный код
TaskController.class
@Controller public class TaskController { @RequestMapping(value = "/task", method = RequestMethod.GET) public ModelAndView index() { logger.debug("index()"); ModelAndView model = new ModelAndView(); model.setViewName("index"); return model; }
//output DEBUG c.m.o.web.controller.TaskController - index()
1.2 Изменить код, записывает что-то еще
TaskController.class
@Controller public class TaskController { @RequestMapping(value = "/task", method = RequestMethod.GET) public ModelAndView index() { logger.debug("index() - NEW - NO RESTART"); ModelAndView model = new ModelAndView(); model.setViewName("index"); return model; }
Доступ снова:http://localhost:8080/project/task
//output DEBUG c.m.o.web.controller.TaskController - index() - NEW - NO RESTART
2. Настроить горячее развертывание в Eclipse
Некоторые шаги необходимы для того, чтобы Eclipse поддерживал горячее развертывание.
2.1 Двойной щелчок по плагину Tomcat, перейдите на вкладкуpublishing
, убедитесь, что выбранAutomatically publish when resources change
. Это должна быть опция по умолчанию для поддержки ресурсов «горячего развертывания», например: JSP, XML и файлы свойств.
2.2 На странице подключаемого модуля Tomcat щелкните представлениеModule
, убедитесь, чтоAuto Reload
равноDisabled
. По умолчанию включено.
Note
Это важный шаг, не удалось отключить автоматическую перезагрузку, сервер Tomcat будет перезапускаться каждый раз, когда вы что-то изменяете!
2.3 Запустить проект в режимеDEBUG
. Горячее развертывание поддерживается только в режиме отладки.
Готово.
3. ограничение
Горячее развертывание поддерживает изменения кода только в реализации метода. Если вы добавите новый класс или новый метод, перезапуск все равно необходим.
Чтобы смоделировать его, попробуйте добавить новый метод. Появится следующее всплывающее окно, в котором говорится, что изменения кода не могут быть оперативно заменены в JVM.