Spring boot-hot-deployment-für-Vorlagen und-Ressourcen unter IntelliJ
Ist jemand bekannt, der ein Mechanismus, um hot-deployment für Ressourcen und Vorlage arbeiten unter IntelliJ 14.0.2 für eine Spring-Boot-Anwendung.
Ich weiß, dass eine vollständige Spring-Boot-Unterstützung geplant ist, dass der 14.1, aber ich habe ein Projekt, dass ich Umgerechnet über von einem standard-KRIEG-Projekts zu einer Spring-Boot-Projekt und ich vermisse die hot-deployment.
Im moment muss ich manuell erstellen Sie das Projekt, dass die Ressourcen, um hot-deployment und selbst dann ist es ein wenig schuppig, manchmal. Ich würde lieber nur eine Vorlage speichern oder eine javascript - /css-Datei und bekommen es abgeholt, wie ich es immer Tat, wenn ich lief meine app mit einem lokalen tomcat-server via IntelliJ.
Konnte ich wechseln Sie zurück zu Eclipse zu bekommen dies funktioniert, aber mein Projekt ist Scala basiert und IntelliJ Scala-Unterstützung weit überlegen.
- Fühle deinen Schmerz. Was ich besonders seltsam ist, dass IntelliJ ist in der Lage, neu zu laden Klassen (wie
@Controllers
- kann leicht getestet), aber nicht die Ressourcen. Ich habe ein wenig Debuggen, testen, beweisen, dass die Ressourcen vorhanden sind, nach app-Bereitstellung über diegetClassLoader().getResource(...)
aber nicht mehr in dieser Weise nach update resources action. - Ich fürchte, die Boot-Unterstützung ist nicht ein Problem hier. Dies ist subtiler problem.
- Für den moment schalte ich zurück auf meine Hauptanwendung eine Spring-Boot-KRIEG, und verwendet IntelliJ Unterstützung für einen KRIEG mit einem lokalen tomcat. Mit diesem Ansatz habe ich meine hot-deployment zurück.
- Dies funktioniert so lange, wie Sie Ihre Ressourcen in den Krieg Projekt. Ich habe separaten maven-Module (was mit den separaten Gläsern), die Abhängigkeiten des Krieges-Modul und einige Ressourcen sind gespeichert in diesen Gläsern. Und ersetzen diese Ressourcen gar nicht funktionieren, wenn im externen Tomcat/Jetty
- Ich werde wieder überprüfen, meine Einrichtung, meine Mittel sind auch in weitere Gläser (die ganze Anwendung ist eine einzelne maven-Projekt mit sub-Module), die KRIEGS-Projekt ist nur eine einfache shell. Es ist sicherlich schien zu funktionieren OK für mich, wenn ich änderte die Ressourcen in der JAR.
- Ich Frage mich, ob das problem möglicherweise mit Jetty? In meinem Fall
9.2.7
. Wiederholt mit Tomcat 8 und sehen, ob es einen Unterschied gibt. Vielen Dank für die überprüfung dieses heraus! - Scheint Jetty problem. In Tomcat ich bin in der Lage zu re-implementieren Sie die Ressourcen nur ok
- Mit Spring Boot zusammen mit BroswerSync (wie konfiguriert JHipster) und es ist eine wahre Freude. Erhalten Sie auto-reload der Seiten. Und es funktioniert unabhängig von IntelliJ. Und es gibt eine Menge mehr Los! Ich würde sagen es lohnt sich die anfänglichen Kosten für die Einrichtung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also nach einigen Tests kam ich zu einigen Schlussfolgerungen, die ich denke, jemand hier ankommen nützlich finden können:
Wenn Sie mit embedded-spring-boot-Anwendung von IntelliJ IDEE (mich auf 14 im moment) im debug-Modus, und Sie möchten hot re-bereitstellen von Ressourcen, die Sie tun können, dass Sie sich über:
Run
->
Reload changed classes
. Einstellung einer Tastenkombination sehr zu empfehlen.Lass dich nicht täuschen von
Loaded classes are up to date. Nothing to reload.
Nachricht. Ihre statische Ressourcen wurden aktualisiert (getestet auf.js
Dateien und Thymeleaf Vorlagen).Wie schon in den Kommentaren für thymeleaf Vorlagen hot-bereitstellen, die Sie brauchen würde:
Wenn Sie mit externen Behälter IntelliJ bietet zusätzliche Funktionen wie action auf
Frame deactivation
ist äußerst nützlich für die web-Entwicklung. Dies funktioniert auch gut, nur Vorsicht, dass externe Jetty-container auf 9.2.7 wird dazu führen, Störungen, D. H. entladen der Ressourcen aufUpdate resources
Aktion brechen Sie Ihre webapp. Das einzige Update war die app neu starten, für mich. Funktioniert gut in Tomcat 8 obwohl.ctrl+s
da in der Idee, die Sie nicht wirklich brauchen, um explizit etwas sparen sowieso.Angewiesen hier hinzufügen
spring-boot-devtools
Abhängigkeit ermöglichen statische Ressourcen nachladen (templates und css).Beachten Sie, dass Sie auswählen müssen, um
Build -> Compile
für diese zu arbeiten.