web-dev-qa-db-de.com

Super Dev-Modus in GWT

Ich bin neu in gwt. Ich weiß nicht, wie ich anfangen soll Super Dev-Modus. Ich brauche die detaillierte Erklärung Schritt für Schritt.

Ich habe versucht, die Datei gwt.xml durch Hinzufügen zu bearbeiten

<add-linker name="xsiframe"/>
  <set-configuration-property name="devModeRedirectEnabled" value="true"/>
  <set-property name="compiler.useSourceMaps" value="true" />

aber ich kann nicht die Idee dazu bekommen.

29
nmkyuppie

Befolgen Sie diese Schritte, Sie werden definitiv die Lösung finden.

  1. Laden Sie den GWT 2.5 RC2 herunter und legen Sie ihn irgendwo ab ... Ich habe ihn in mein Eclipse/plugins-Verzeichnis gestellt. Link

  2. Fügen Sie in Eclipse GWT 2.5 zum Bildschirm Project -> Properties -> Google -> Web Toolkit -> Configure SDKs Hinzu und wählen Sie die 2.5-Version aus, die Sie im obigen Schritt zum Verzeichnis hinzugefügt haben.

  3. Klicken Sie mit der rechten Maustaste auf das Projekt in Eclipse, öffnen Sie das Fenster "Run Configurations" (Konfigurationen ausführen) und erstellen Sie eine neue "Java Application" (Java-Anwendung) mit dem Namen "GWT Super Dev Mode".

  4. Führen Sie im Fenster "Run Configurations" die folgenden Schritte aus:

    1. Legen Sie das Projekt basierend auf Ihrem Projektnamen fest und geben Sie die Hauptklasse als com.google.gwt.dev.codeserver.CodeServer ein.

    2. Klicken Sie in Classpath tab Auf user Entries Und dann auf Add External JARs, Navigieren Sie zum GWT 2.5-Verzeichnis und suchen Sie die Datei gwt-codeserver.jar und klicken Sie auf "Öffnen" (und andere externe Bibliotheken).

    3. Fügen Sie auf der Registerkarte Argumente -src src/ *SOURCE PATH OF YOUR PROJECT* Zu Programmargumenten hinzu, und fügen Sie optional -Xmx1024m Zu VM Argumente hinzu.

    4. Klicken Sie auf Übernehmen und führen Sie das Projekt aus.

  5. Danach erhalten Sie eine URL wie localhost: 9876/

  6. Gehen Sie zu dieser URL und markieren Sie Dev Mode ON Und Dev MOde Off Und führen Sie dann Ihren Code aus. Entfernen Sie das Suffix gwt.codesvr = 127.00.1: 9997 in der URL. Klicken Sie nun auf Dev Mode ON ...

Hoffe du bekommst die Lösung ...

16
Stuart

UPDATE: Ab GWT 2.7 verwendet DevMode standardmäßig automatisch den Super Dev-Modus, sodass Sie DevMode wie zuvor starten müssen Die App wird beim (erneuten) Laden der Seite automatisch (neu) kompiliert.
Ein Unterschied besteht darin, dass ein spezieller .nocache.js Generiert wird. Sie müssen also sicherstellen, dass diese spezifische Datei vom Browser geladen wird. Um einen Remote-Server zu debuggen (wie Sie es zuvor bei DevMode mit -noserver getan haben), müssen Sie die Bookmarklets wie unten beschrieben verwenden.

Um im Super Dev-Modus zu arbeiten, müssen Sie zwei vorbereitende Schritte ausführen:

  1. Der Super Dev-Modus funktioniert nur mit dem Linker xsiframe. Vergewissern Sie sich daher, dass in Ihrem .gwt.xml Auch die folgende Zeile enthalten ist:

    <add-linker name="xsiframe" />
    

    Dieser Linker ist produktionssicher (Google verwendet ihn überall, leicht angepasst). Sie können ihn also für alle Ihre Projekte aktivieren (er kombiniert das Beste aus dem std Linker - dem Standardlinker - und dem xs Linker, ohne deren Nachteile).

    Hinweis: Dieser Linker ist der Standard in 2.7

    Wenn Sie eine Version von GWT vor 2.6.0 verwenden, müssen Sie auch den Super Dev-Modus in Ihrem .gwt.xml Aktivieren:

    <set-configuration-property name="devModeRedirectEnabled" value="true" />
    

    Andernfalls müssen Sie den Host auf eine Whitelist setzen, wenn Sie den Super-Dev-Modus von einer anderen URL als 127.0.0.1 Oder localhost verwenden möchten. Dies erfolgt unter Verwendung eines regulären Ausdrucks, z.

    <set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(mymachinename|192\.168\.5\.151)(:\d+)?/.*" />
    

    Siehe https://stackoverflow.com/a/21938574/116472

  2. kompilieren Sie Ihre App und stellen Sie sie auf einem Webserver in Ihrer Nähe bereit (wenn Sie eine .gwt.xml - Datei verwendet haben, die für den Super Dev Mode spezifisch ist, stellen Sie sicher, dass Sie das eine Modul kompilieren: den xsiframe -Linker und devModeRedirectEnabled Eigenschaft sind für diesen Kompilierungsschritt notwendig!)

    Wenn Sie GWT-RPC verwenden, setzen Sie die Systemeigenschaft gwt.codeserver.port Auf den Port, auf dem Sie den Super Dev-Modus ausführen (standardmäßig 9876), Damit Ihr Server RPC-Serialisierungsrichtlinien direkt vom Super herunterladen kann Dev Mode.
    Wenn Sie sie auf verschiedenen Computern ausführen, müssen Sie getCodeServerPolicyUrl in allen Ihren RemoteServiceServlet überschreiben. Berücksichtigen Sie jedoch die Sicherheitsaspekte, wie angegeben im Javadoc

Danach können Sie eine Super Dev Mode-Sitzung starten:

  1. Starten Sie com.google.gwt.dev.codeserver.CodeServer Mit demselben Klassenpfad, mit dem Sie DevMode starten würden (dh gwt-user.jar, gwt-dev.jar Und all Ihren clientseitigen Abhängigkeiten: zB GXT, GIN + Guice, GWTEventBinder, etc.) aber mit gwt-codeserver.jar; und den Namen Ihres Moduls als Argument übergeben.

    Zunächst wird Ihr Modul kompiliert, um zu überprüfen, ob es tatsächlich kompiliert werden kann. Sie können diesen Schritt überspringen, indem Sie -noprecompile als Argument übergeben.

    Wenn Sie den Super Dev Mode noch nie ausgeführt haben, gehen Sie zu http://localhost:9876 Und fügen Sie die Links Dev Mode On und Dev Mode Off zu Ihren Lesezeichen hinzu (ziehen Sie/lege sie in deiner Lesezeichenleiste ab).

    Hinweis: Wenn Sie Maven verwenden, sollten Sie in der Lage sein, mvn gwt:run-codeserver Zu verwenden (Hinweis: In den Versionen des Plugins bis 2.6.0 gibt es einen Fehler, bei dem Sie tatsächlich mvn process-classes gwt:run-codeserver Ausführen müssen.) ist in 2.6.1) behoben.

  2. Öffnen Sie Ihre App in Ihrem Browser und drücken Sie das Dev Mode On Lesezeichen. Klicken Sie im sich öffnenden Popup auf die Schaltfläche Compile. Es sollte die Seite aktualisieren und die JS von CodeServer anstatt von Ihrem Server laden. Die Entwicklungstools Ihres Browsers sollten auch die SourceMaps laden, damit Sie Ihren Java) - Code sehen und (Schritt für Schritt) debuggen können.

  3. Wenn Sie die an Ihrem Code vorgenommenen Änderungen testen möchten, klicken Sie erneut auf das Bookmarklet Dev Mode On. Im Gegensatz zu DevMode wird beim Aktualisieren der Seite der neue Code nicht ausgeführt. Der Code muss zuerst neu kompiliert werden. Klicken Sie dazu auf die Schaltfläche Compile nach dem Lesezeichen Dev Mode On (Hinweis: Sie können das Lesezeichen auch direkt setzen Compile um einen Klick zu speichern, beachten Sie jedoch, dass er an Ihr Modul gebunden ist, so dass Sie mehrere Lesezeichen benötigen, wenn Sie an mehreren Modulen arbeiten.

  4. Wenn Sie fertig sind, drücken Sie Dev Mode Off, um sicherzustellen, dass Sie wieder in den Production Mode wechseln, und beenden Sie dann den CodeServer -Prozess (CtrlC in der Konsole sollte funktionieren).

Offizielle Dokumentation unter http://www.gwtproject.org/articles/superdevmode.html
Siehe auch http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/ für weitere Informationen darüber, wie der Super Dev Mode tatsächlich funktioniert.

60
Thomas Broyer

Ich habe eine einfache Schritt-für-Schritt-Anleitung für das Debuggen von Hello World-Projekten mit dem Super-Dev-Modus geschrieben Hier .

Nachdem Sie die Schritt-für-Schritt-Anleitung mit den Screenshots gelesen haben, können Sie sie nicht mehr verpassen.

enter image description here

Sie können sich auch über die Technologie informieren -

GWT SuperDevMode - Ray Cromwell Post und GWT Dev Guide

SourceMaps - GWT und Sourcemaps und HTML5 Sourcemaps

7
appbootup

Werfen Sie einen Blick auf dieses Video, könnte helfen

http://jeff-davis.blogspot.fr/2012/07/setting-up-gwt-25s-superdevmode.html

3