J'ai récemment lancé Spring Boot et je cherchais à mettre en place le Hot Swapping, mais j'ai eu du mal de manière inattendue car certains articles étaient un peu obsolètes ou manquaient de paramètres, je vais donc les résumer ici.
Cochez "Construire le projet automatiquement" dans les Préférences.
Affichez la fenêtre de recherche de commandes avec Shift + Commande + A
et exécutez Registry ...
.
Vérifiez compiler.automake.allow.when.app.running
.
Ajoutez les paramètres suivants dans build.gradle
.
bootRun {
sourceResources sourceSets.main
}
Ajoutez ce qui suit à ʻapplication.properties` (si vous utilisez Thymeleaf comme moteur de modèle):
spring.thymeleaf.cache = false
Par exemple, apporter des modifications à la source de src / main / java / hello / GreetingController.java
rechargera l'application.
Dans mon environnement, j'ai dû enregistrer le fichier source avec Command + S
pour que le rechargement s'exécute.
...
Service arrêté
2019-05-24 16:18:26.310 INFO 37740 --- [ Thread-33] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
L'application a redémarré
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE)
2019-05-24 16:18:31.397 INFO 37740 --- [ restartedMain] hello.Application : Starting Application on xxx.local with PID 37740 (/Users/takehiro/Documents/git/sprint-web-mvc/build/classes/java/main started by takehiro in /Users/user/Documents/git/sprint-web-mvc)
2019-05-24 16:18:31.398 INFO 37740 --- [ restartedMain] hello.Application : No active profile set, falling back to default profiles: default
2019-05-24 16:18:31.563 INFO 37740 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
...
De plus, toutes les modifications apportées au fichier statique src / main / resources / templates / salutation.html
ont été reflétées en rechargeant le navigateur.
Dans ce cas, le rechargement de l'application n'a pas eu lieu.
En combinant avec l'extension Live Reload du navigateur, il sera possible de recharger automatiquement sans cliquer à chaque fois sur le bouton de rechargement du navigateur. En effet, Spring Boot Devtools dispose d'un serveur Live Reload intégré.
Les extensions peuvent être installées depuis ici.
Démarrez d'abord l'application et affichez l'écran sur le navigateur. Cliquez sur l'icône de l'extension LiveReload et assurez-vous que l'état est «LiveReload est connecté, cliquez pour désactiver».
Cela permettra le rechargement en direct.
Recommended Posts