Comment configurer un déploiement à chaud dans Eclipse
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:
-
Eclipse 4.4 (également pris en charge dans les anciennes versions)
-
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; }
Accéder à nouveau:http://localhost:8080/project/task
//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.
2.2 Dans la page Tomcat Plugin, clique sur la vueModule
, assurez-vous queAuto Reload
estDisabled
. La valeur par défaut est activée.
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.