Break point à" throw new SilentExitException () " dans Eclipse + Spring Boot
chaque fois que j'exécute mon projet de démarrage en mode débogage dans Eclipse IDE (Spring Tool Suite), le thread s'arrête à la ligne "throw new SilentExitException();" même sans point de rupture.
une solution pour éviter ce problème?
org.springframework.démarrage.devtools.redémarrer.SilentExitExceptionHandler.exitCurrentThread () (ligne 53):
public static void exitCurrentThread() {
throw new SilentExitException();
}
cela commence à se produire après la mise à niveau à 1.3.0 Milestones.
Suite D'Outils De Printemps Version: 3.7.0.PUBLIER Numéro De Vente: 201506290649 Plateforme: Eclipse Luna SR2 (4.4.2)
2 réponses
c'est malheureusement un problème connu avec le nouveau spring-boot-devtools
module (see https://github.com/spring-projects/spring-boot/issues/3100). Nous utilisons cette astuce pour tuer le thread principal afin que nous puissions le remplacer par une version rechargeable. Jusqu'à présent, je n'ai trouvé aucun moyen d'empêcher le point de rupture de débogage de se déclencher.
pour l'instant, vous pouvez basculer la case "suspend execution on uncaught exceptions" dans Java -> Debug preferences pour l'empêcher de se produire.
comme Eclipse sur le mode de débogage permet déjà un hotpatching limité, je trouve que le reloader est contre-productif la plupart du temps et j'ai donc décidé de le désactiver par:
System.setProperty("spring.devtools.restart.enabled", "false");
puisque cette exception est lancée par le reloader, cela résout aussi ce problème. Notez que vous devrez utiliser le System.setProperty
méthode au lieu de paramètre application.properties
.