Ich habe vor kurzem mit Spring Boot begonnen und wollte Hot Swapping einrichten, aber es fiel mir unerwartet schwer, weil einige Artikel etwas veraltet waren oder keine Einstellungen hatten. Deshalb werde ich sie hier zusammenfassen.
Aktivieren Sie in den Einstellungen die Option "Projekt automatisch erstellen".
Zeigen Sie das Befehlssuchfenster mit "Umschalt + Befehl + A" an und führen Sie "Registrierung ..." aus.
Überprüfen Sie compiler.automake.allow.when.app.running
.
Fügen Sie die folgenden Einstellungen in build.gradle
hinzu.
bootRun {
sourceResources sourceSets.main
}
Fügen Sie application.properties
Folgendes hinzu (wenn Sie Thymeleaf als Template-Engine verwenden):
spring.thymeleaf.cache = false
Wenn Sie beispielsweise Änderungen an der Quelle von "src / main / java / hello / GreetingController.java" vornehmen, wird die Anwendung neu geladen. In meiner Umgebung musste ich die Quelldatei mit "Befehl + S" speichern, damit das Neuladen ausgeführt werden konnte.
...
Dienst heruntergefahren
2019-05-24 16:18:26.310 INFO 37740 --- [ Thread-33] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
App neu gestartet
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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)
...
Alle Änderungen an der statischen Datei "src / main / resources / templates / greeting.html" wurden durch erneutes Laden des Browsers berücksichtigt. In diesem Fall wurde das erneute Laden der Anwendung nicht durchgeführt.
Durch die Kombination mit der Live Reload-Erweiterung des Browsers ist es möglich, automatisch neu zu laden, ohne jedes Mal auf die Schaltfläche zum erneuten Laden des Browsers zu klicken. Dies liegt daran, dass Spring Boot Devtools über einen integrierten Live Reload-Server verfügt.
Erweiterungen können von hier installiert werden.
Starten Sie zuerst die Anwendung und zeigen Sie den Bildschirm im Browser an. Klicken Sie auf das Symbol für die LiveReload-Erweiterung und stellen Sie sicher, dass der Status "LiveReload ist verbunden, klicken Sie zum Deaktivieren" lautet.
Dies ermöglicht das Live-Nachladen.
Recommended Posts