IntelliJ und Tomcat ... geänderte Dateien werden von Tomcat nicht automatisch erkannt
Ich arbeite mit Intellij Ultimate mit Tomcat und bereitstellen eines Krieges. Alles setzt Geldstrafe für das webapp-Verzeichnis von tomcat.
Wenn ich eine Datei wie eine xhtml-Datei, gibt es eine Möglichkeit für tomcat automatisch abholen das ändern? Ab jetzt muss ich kopieren Sie die Datei von intellij und kopieren Sie in das Verzeichnis, wo es lebt in der tomcat-webapp-Verzeichnis. Ich weiß, es gibt bestimmte Dateien, die Notwendigkeit, neu zu kompilieren, aber xhtml ist nicht einer von Ihnen.
InformationsquelleAutor der Frage Peter | 2013-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese kann getan werden, wenn Sie die Bereitstellung eines Krieges mit IntelliJ IDEA. Jedoch, es kann werden, wenn Sie bei der Bereitstellung eines explodierte Krieg. Die IDEE:
my-webapp-name:war
my-webapp-name:war exploded
Jetzt jedes mal, wenn Sie eine änderung vornehmen, die IDEE wird erneut bereitstellen Sie, die geänderten Datei(en) bei die IDEE-Rahmen deaktiviert ist (also den Fokus verliert). Es dauert ein oder zwei Sekunden, werden Sie sehen in der unteren Statusleiste in der IDEE. Offensichtlich. Sie müssen aktualisieren Sie Ihren web-browser, so dass es holt die neue Datei (es sei denn, natürlich, wenn die Seite hat eine auto-refresh von ajax wie fetch).
Einer guten Kombination mit Tomcat set "frame-Deaktivierung" auf "Update-Ressourcen" und die "Auf 'aktualisieren' Aktion entweder "Bereitstellen" oder "Server-Neustart". Ermöglicht statische Seiten werden schnell aktualisiert, über frame-Deaktivierung, und die Klasse aktualisiert, über die "update" - Aktion.
Einer Firma namens ZeroTurnaround verkauft JRebeldie eine dynamische classloader Lösung. Sie haben auch eine fünf-teilige Serie über das Thema das ist sehr gut.
InformationsquelleAutor der Antwort Javaru
Lassen Sie mich beschreiben, die Abfolge von Aktionen, die mit screenshots:
Klicken Sie auf das hinzufügen-Symbol, wählen Sie 'Artefakt' und wählen Sie dann
pizza_mvc:war exploded
:Ändern "On update action" und "frame diactivation':
Jedes mal, wenn Sie aktualisieren möchten Ihre Ressourcen, drücken Sie
<Ctrl> + F10
InformationsquelleAutor der Antwort Vadik Smirnov
Wenn Sie aktualisieren möchten, Klassen und Ressourcen, führen Tomcat in Debug-Modus. In diesem Modus IntelliJ update Klassen und Ressourcen, ohne ein problem (hot-swap).
Habe das gleiche problem. IntelliJ nicht update zu meinem Projekt, weil ich die " ausführen als "Run-Modus". Wenn ich in debug-Modus und drücken Sie
<kbd>Ctrl</kbd>+<kbd>F10</kbd>
es updates von Klassen und Ressourcen.InformationsquelleAutor der Antwort Łukasz Woźniak
Ich habe einen besseren Weg gefunden.
In Eclipse wir haben automatisch erstellen, kompilieren + reload statische Dateien. Eigentlich statische Dateien werden Ihnen direkt von src/main/webapp.
In IntelliJ anstelle der Schaltung direkt aus src/main/webappes wird ein Ordner erstellt, in Ziel, in dem Sie haben, eine Kopie Ihrer src/main/webapp und auch andere kontextbezogene .. web-inf/classes /lib.
Wenn Man statt dem Ziel der Ausgabe von explodierten Artefakt zu src/main/webappwird es nicht überschreiben Sie die source-Dateien, und es wird direkt bedienen, Sie nicht zu schlagen - Ressourcen-update /update-Ressourcen und-Klassen
Also, was Sie tun müssen, IntelliJ ist
Nach diesem, wenn Sie einen Job haben, ändern Sie statischen Dateien von außerhalb IntelliJ, sehen Sie änderungen sofort, ohne zu IntelliJ und Update Ressourcenund für die Klassen, die Sie haben, die makro -, die spart, und kompilieren(Hinweis: Sie können auch drücken Sie einfach " Kompilieren/Kompilieren : cmd + shift + F9 /Strg + F9 - wenn Sie mehrere Editoren geöffnet werden sehen, dass Sie Ihre schmutzige * Editoren werden nicht schmutzig, und änderungen(Klassen) werden neu geladen)
InformationsquelleAutor der Antwort Radu Toader