Vraag Aan de slag met de SuperDevMode


Ik wil gewoon een eenvoudige app uitvoeren met behulp van superDevMode om de voordelen ervan te kennen. De CodeServer is met succes van start gegaan, maar het is klagen dat er geen GWT-modules zijn om in de gebruikersinterface te compileren. Ik volgde de volgende stappen.

  1. Ik ben begonnen met GWT-standaardcode die wordt gegenereerd wanneer we het nieuwe project maken. Ik heb het vervolgens geconverteerd naar het Maven-project.
  2. Ik heb vervolgens mijn gwt.xml-bestand aangepast om de linker toe te voegen. Hier is de kopie mijn gwt.xml

    <module rename-to='superdevmode'>
    <inherits name='com.google.gwt.user.User' />
    <inherits name='com.google.gwt.user.theme.clean.Clean' />
    <entry-point class='superDevMode.client.SuperDevMode' />
    <add-linker name="xsiframe" />
    <set-configuration-property name="devModeRedirectEnabled"
    value="true" />
    </module>
    
  3. Ik heb de codeserver-pot toegevoegd en het juiste klassenpad ingesteld.

Codeserver is met succes gestart.

   The code server is ready.
   Next, visit: http://localhost:9876/

Wanneer ik de gebruikersinterface start, ontvang ik het volgende enter image description here

Maar als ik op Dev Mode On klik, krijg ik het volgende

enter image description here

Ik weet niet wat ik verkeerd doe. Mijn POM-vermelding ziet er zo uit.

              <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>superDevMode</groupId>
<artifactId>superDevMode</artifactId>
<version>0.0.1-SNAPSHOT</version>
             </project>

Verbeter me als ik het fout heb.


26
2017-07-06 06:06


oorsprong


antwoorden:


Bijwerken: v2.6 ziet er naar uit dat het een betere voorbeeld launcher heeft voor superdevmode (zie onder superdevmode bij http://www.gwtproject.org/release-notes.html#Release_Notes_2_6_0_RC1 ) 2.6 wordt nu elke dag vrijgegeven. Ik gebruik RC3 en het lijkt goed. Meer hier:


Hoewel ik het detail op prijs stel hoe SuperDevMode werkt in het artikel van Thomas, wat echt nodig is, is een stapsgewijze handleiding met wat probleemoplossing.

Hier is een stap voor stap. Er zijn zoveel plaatsen die fout kunnen gaan en de SuperDev-moduspagina is niet erg specifiek. Hopelijk maakt dit duidelijk:

  1. Configureer uw module .gwt.xml bestand met de extra regels (plaats dit onderaan de module-definitie, dus net voor </module>):
<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<!-- enable source maps -->
<set-property name="compiler.useSourceMaps" value="true" />
  1. Voer het standaard GWT compileerproces uit - in Eclipse is dit "GWT Compile Project ..." - dit is wat u gewoonlijk doet wanneer u GWT-code implementeert. U hebt ongetwijfeld een opdracht maven of mieren die dit ook doen.

  2. Start een reguliere webserver die u normaal zou gebruiken bij het ontwikkelen van uw GWT-code. Bijvoorbeeld degene waarmee u de normale DevMode hebt gebruikt. Ik noem dit een localhost: 8888 - Ik ga ervan uit dat de pagina die je normaal zou starten index.html is, dus http://localhost:8888/index.html toont je GWT-app. (waarschijnlijk heb je dat ?gwt.codesvr=127.0.0.1:9997 in die URL normaal gesproken)

  3. Start de SuperDevMode-server (zie de onderkant van dit antwoord voor twee methoden). Er zijn nu twee webservers actief - op verschillende poorten. Dus laten we zeggen dat SuperDevMode wordt uitgevoerd localhost:1234. Onderaan dit antwoord heb ik een aantal manieren gepost om SuperDevMode te starten.

  4. Richt uw browser naar de SuperDevMode-server, dus http://localhost:1234 . Volg de instructies en kopieer de twee snelkoppelingen naar uw adresbalk

  5. Richt uw browser nu naar de gewone webserver, http://localhost:8888/index.html - Niet doen toevoegen ?gwt.codesvr=127.0.0.1:9997 naar de URL - dat is alleen voor NotSuper DevMode. (dat wil zeggen reguliere DevMode)

  6. Klik op de snelkoppeling "DevMode Aan" die u in stap 5 hebt gekopieerd. Deze zou u moeten vragen om een ​​module te kiezen om te compileren, klik op de knop Compileren.

  7. Als u sourcemaps wilt (zie uw Java-broncode in de Chrome-scriptbrowser), moet u deze inschakelen in Chrome. In mijn versie van Chrome (Ubuntu) bevindt zich rechtsonder in de Chrome-console een klein tandwieltje (Inspect Element, kijk dan rechtsonder in het browservenster). Klik daarop en zoek "Bronkaarten inschakelen". Laad de pagina opnieuw en het zou nu de broncodes moeten tonen.


Twee manieren om de super dev-modus te starten:

Vanaf de opdrachtregel

java -classpath $GWT_HOME/gwt-codeserver.jar:$GWT_HOME/gwt-dev.jar:$GWT_HOME/gwt-user.jar:app:./lib/*  com.google.gwt.dev.codeserver.CodeServer \
  -bindAddress 0.0.0.0 -port 1234 -src src -workDir work com.foo.MyModule

Van een Eclipse Laucher

Maak in Eclipse een nieuwe Java-applicatie Launcher (niet een Web Application launcher!) met de volgende configuratie:

Hoofdklasse: 

com.google.gwt.dev.codeserver.CodeServer

Programmaargumenten:

-src src -workDir ${workspace_loc:MyProject}/codeserver -port 1234 com.foo.MyModule

-workDir is optioneel

VM-argumenten (Deze kunnen nodig zijn afhankelijk van de grootte van uw project.) Als de extra modus "Compileren" -knop (in de browser) onmiddellijk verdwijnt nadat u hebt geklikt en er niets lijkt te gebeuren, kan deze vastlopen vanwege onvoldoende geheugen)

-Xmx1024m -Xms512m

classpath: voeg gwt-codeserver.jar, gwt-dev.jar en gwt-user.jar toe aan het klassenpad van de lancering (deze potten zijn te vinden in de installatiemap van de GWT SDK).


62
2017-11-07 20:52



Ik nam een ​​iets andere benadering. Ik ben begonnen met bestaand Hallo project en vervolgens geconfigureerd om te werken in de Super Dev-modus.

EEN. Bouw en implementeer oorlog voor het hello-project in kater.

B. Voeg een doel toe aan de build.xml van Hello-project.

<target name="codeserver" depends="javac" description="Run Code Server mode">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
        <classpath>
            <pathelement location="src"/>
            <path refid="project.class.path"/>
            <pathelement location="../../gwt-codeserver.jar" />
            <pathelement location="../../validation-api-1.0.0.GA.jar" />
            <pathelement location="../../validation-api-1.0.0.GA-sources.jar" />
        </classpath>
        <jvmarg value="-Xmx1024M"/>
        <arg value="-bindAddress"/>
        <arg value="0.0.0.0"/>
        <arg line="-port"/>
        <arg value="9876"/>
        <arg value="-workDir"/>
        <arg value="workDir"/>
        <arg line="-src"/>
        <arg value="src"/>
        <arg value="com.google.gwt.sample.hello.Hello"/>
    </java>
</target>

C.  Voer de codeserver uit met behulp van ant codeserver van de opdrachtprompt.

D. Start de browser en navigeer naar http://localhost:9876/  Maak de bladwijzers

E. Start Chrome Dev Tools (F12) en schakel SourceMaps in.

F. Start de browser en navigeer naar http://localhost:8080/Hello

G. Klik op de "Dev Mode ON" -bladwijzer wanneer u zich op de pagina bevindt http://localhost:8080/Hello

H. Klik op de knop "Compileren" om de codeserver opdracht te geven de broncode van het gwt-bestand als bronkaarten in de browser te laden.

IK. Hoera, de Java-bestanden zijn opgehaald en kunnen worden bekeken bron tab van de Chrome Development Console.

J. Zoek de Hello.java. Klik op het regelnummer om Debug point @ in te stellen Window.alert("Hello, AJAX"); .

K. Klik op "Click Me" in de Hello World. De code stopt op uw foutopsporingspunt in het java-bestand in Chrome !!!!!!!! Hoera.

Referentie met schermafbeeldingen - http://geekbybit.blogspot.in/2013/03/diy-working-with-gwt-codeserver-tomcat.html

enter image description here


8
2018-03-31 14:59



er is een heel goede uitleg over hoe dit hier werkt: http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/

u moet de boekjes naar uw browser slepen. Start vervolgens uw toepassing zoals normaal. Open uw app in de browser zonder het gedeelte "? Gwt.codesvr = 127.0.0.1: 9997". Nu kunt u de boekjes gebruiken om de SuperDevMode te starten.

Ik hoop dat dit helpt.


4
2017-07-06 11:25



Met multi-module maven gwt project moet je bronnen locaties (base project en module) toevoegen in Run Configuration:

-src src/main/java/ -src ${workspace_loc:MyNewModule}/src/main/java/ com.foo.MyModule

0
2017-10-28 13:35