Comment configurer le déploiement à chaud dans Eclipse

Comment configurer un déploiement à chaud dans Eclipse

eclipse-luna

Dans ce didacticiel, nous vous montrerons comment configurer le débogueur Eclipse pour prendre en charge le déploiement à chaud, l'échange à chaud ou le remplacement de code à chaud sans redémarrer le serveur, ce développement de vitesse beaucoup.

Environnement:

  1. Eclipse 4.4 (également pris en charge dans les anciennes versions)

  2. Plugin Eclipse Tomcat

1. Exemple de déploiement à chaud

Consultez un exemple simple de déploiement à chaud, des modifications de code sans redémarrer le plug-in Tomcat. Supposons qu'un simple projet Web Spring MVC soit déployé via le plugin Eclipse-Tomcat:

1.1 Code d'origine

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 Changer le code, enregistrer autre chose

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;

    }
//output
DEBUG c.m.o.web.controller.TaskController - index() - NEW - NO RESTART

2. Configurer le déploiement à chaud dans Eclipse

Certaines étapes sont nécessaires pour que Eclipse prenne en charge le déploiement à chaud.

2.1 Double-clique sur le plugin Tomcat, reportez-vous à l'ongletpublishing, assurez-vous queAutomatically publish when resources change est sélectionné. Cela devrait être l'option par défaut, pour prendre en charge les ressources de «déploiement à chaud», par exemple: JSP, XML et fichiers de propriétés.

eclipse-tomcat-hot-example1

eclipse-tomcat-hot-deploy-example2

2.2 Dans la page Tomcat Plugin, clique sur la vueModule, assurez-vous queAuto Reload estDisabled. La valeur par défaut est activée.

eclipse-tomcat-hot-deploy-example3

Note
Ceci est une étape importante, impossible de définir le rechargement automatique sur désactivé, le serveur Tomcat sera redémarré à chaque fois que vous modifiez quelque chose!

2.3 Démarre le projet en modeDEBUG. Le déploiement à chaud est pris en charge uniquement en mode DEBUG.

Terminé.

3. Limitation

Le déploiement à chaud a pris en charge les modifications de code dans l'implémentation de la méthode uniquement. Si vous ajoutez une nouvelle classe ou une nouvelle méthode, le redémarrage est toujours requis.

Pour le simuler, essayez d'ajouter une nouvelle méthode, l'écran contextuel suivant s'affiche, indiquant que les modifications de code ne peuvent pas être remplacées à chaud dans la JVM.

eclipse-hot-swap-failed