Как настроить горячее развертывание в Eclipse

Как настроить горячее развертывание в Eclipse

eclipse-luna

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

Окружающая обстановка :

  1. Eclipse 4.4 (также поддерживается в более старой версии)

  2. 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 и файлы свойств.

eclipse-tomcat-hot-example1

eclipse-tomcat-hot-deploy-example2

2.2 На странице подключаемого модуля Tomcat щелкните представлениеModule, убедитесь, чтоAuto Reload равноDisabled. По умолчанию включено.

eclipse-tomcat-hot-deploy-example3

Note
Это важный шаг, не удалось отключить автоматическую перезагрузку, сервер Tomcat будет перезапускаться каждый раз, когда вы что-то изменяете!

2.3 Запустить проект в режимеDEBUG. Горячее развертывание поддерживается только в режиме отладки.

Готово.

3. ограничение

Горячее развертывание поддерживает изменения кода только в реализации метода. Если вы добавите новый класс или новый метод, перезапуск все равно необходим.

Чтобы смоделировать его, попробуйте добавить новый метод. Появится следующее всплывающее окно, в котором говорится, что изменения кода не могут быть оперативно заменены в JVM.

eclipse-hot-swap-failed