Die neueste Version des Maven-Plugins hat die Aktualisierung des Codes alle 5s ermöglicht, was eine große Verbesserung darstellt. Aber wenn ich das nicht falsch konfiguriere, scheint es keine statischen Dateiänderungen aufzunehmen, wie zum Beispiel laufendes JavaScript, das eine Verbindung zum Appengine-Code herstellt.
Gibt es eine Möglichkeit, dieses Verhalten zu ändern, oder muss ich nur auf eine neue Version warten?
Automatische Updates können derzeit nicht mit dem anhängigen devserver allein durchgeführt werden. Genau genommen müssen wir warten.
Aber Sie können den Effekt des nahtlosen html / js / css / usw.-Updates, des heißen Java-Code-Ersatzes, usw. mit der Konfiguration unten erzielen.
Konfigurieren Sie Apache httpd oder Nginx, um statischen Code direkt von Ihrer Kriegsquelle zu liefern und an die App-Engine für Servlets weiterzuleiten. In meinem Fall sind alle HTML direkt aus dem Webapp-Verzeichnis zugänglich und Servlets werden über / sim / aufgerufen. Unter Verwendung von nginx und 7070-Port sieht meine funktionierende nginx-Konfiguration folgendermaßen aus:
%Vor%Verwenden Sie diese Dokumentation von nginx für weitere Konfigurationen.
Konfigurieren Sie Eclipse und GAE separat.
Bitte beachten Sie, dass dies zwar großartig ist, Sie jedoch Ihre App vor dem Hochladen einmal ausschließlich auf 8080 (devserver port) testen sollten, nur für den Fall, dass ein Fehler in maven config vorliegt und target nicht korrekt erstellt / bedient wird.
Alternative Idee für die Synchronisierung : Wenn Sie nginx / httpd aus irgendeinem Grund nicht verwenden möchten, können Sie target ... webapp zum chrome-Arbeitsbereich hinzufügen, dort direkt für die nahtlose Aktualisierung arbeiten und dann verwenden lsyncd, um das Ziel zurück zu src zu synchronisieren. Ich habe es noch nicht versucht, aber es sieht machbar aus, wenn auch ein bisschen riskant.
Bisher habe ich am besten die folgenden Einträge in pom.xml konfiguriert. Dadurch werden automatisch Ihre statischen Dateien erstellt und auf der Seite reflektiert.
%Vor%Und noch ein Eintrag nach
%Vor%Das funktioniert gut. Sobald statische Dateien geändert und gespeichert wurden, wurden sie auf der Seite angezeigt.
Wie bei PoojaC20 war es mir auch nicht möglich, das mit devserver allein zu machen, aber ich hatte eine andere Problemumgehung, von der ich dachte, dass ich sie teilen würde, falls andere es hilfreich fanden.
Ich host jetzt meine statischen Entwicklungsdateien außerhalb des GAE-Devservers, indem ich grunt-serve verwende. Dies ermöglicht eine große Anzahl von Vorteilen einschließlich:
Die tiefgründigste Folge davon ist, dass ich von der sitzungsbasierten Authentifizierung zu OAuth- oder OpenID Connect-basierten Authentifizierungssystemen wechseln und alle meine Web-Service-Anrufe CORS-kompatibel machen musste. Das ist etwas Arbeit, aber es hat auch einen sehr tiefen Vorteil:
Tags und Links java maven google-app-engine