Je veux juste exécuter une application simple en utilisant superDevMode pour connaître ses avantages. Le CodeServer démarre avec succès, mais il se plaint qu'il n'y a pas de modules gwt à compiler dans l'interface utilisateur. J'ai suivi les étapes suivantes.
J'ai ensuite modifié mon fichier gwt.xml pour ajouter l'éditeur de liens. Voici la copie de mon 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>
J'ai ajouté le bocal du serveur de codes et défini le chemin de classe approprié.
Le serveur de codes démarre correctement.
The code server is ready.
Next, visit: http://localhost:9876/
Lorsque je lance l'interface utilisateur, j'obtiens ce qui suit
Mais quand je clique sur Dev Mode On, j'obtiens ce qui suit
Je ne sais pas ce que je fais mal. Mon entrée POM ressemble à ceci.
<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>
Corrigez-moi si je me trompe.
Mise à jour : la v2.6 semble avoir un meilleur exemple de lanceur pour superdevmode (voir sous superdevmode sur http: //www.gwtproject .org/release-notes.html # Release_Notes_2_6_0_RC1 ) 2.6 sortira tous les jours maintenant. J'utilise RC3 et ça semble bien. Plus ici:
Bien que j'apprécie les détails sur comment SuperDevMode fonctionne dans l'article de Thomas, ce qui est vraiment nécessaire est un guide étape par étape avec quelques problèmes.
Voici une étape par étape. Il y a tellement d'endroits à se tromper et la page du mode SuperDev n'est pas très spécifique. Espérons que cela indique clairement:
</module>
):<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<!-- enable source maps -->
<set-property name="compiler.useSourceMaps" value="true" />
Exécutez le processus de compilation GWT standard - dans Eclipse, c'est "GWT Compile Project ..." - c'est ce que vous faites généralement lorsque vous déployez du code GWT. Vous disposez sans aucun doute d'une commande maven ou ant qui le fait également.
Démarrez un serveur Web normal que vous utiliseriez normalement lors du développement de votre code GWT. Par exemple, celui avec lequel vous avez utilisé le DevMode normal. J'appellerai celui-ci localhost: 8888 - Je vais supposer que la page que vous lanceriez normalement est index.html, donc http://localhost:8888/index.html
montre votre application GWT. (vous avez probablement ?gwt.codesvr=127.0.0.1:9997
dans cette URL normalement)
Démarrez le serveur SuperDevMode (voir le bas de cette réponse pour deux méthodes). Vous avez maintenant deux serveurs Web en cours d'exécution - sur des ports différents. Donc, disons que SuperDevMode fonctionne sur localhost:1234
. Au bas de cette réponse, j'ai publié quelques façons de démarrer SuperDevMode.
Pointez votre navigateur vers le serveur SuperDevMode, donc http://localhost:1234
. Suivez les instructions et copiez les deux raccourcis dans votre barre d'adresse
Maintenant, pointez votre navigateur vers le serveur Web standard, http://localhost:8888/index.html
- ne pas ajouter ?gwt.codesvr=127.0.0.1:9997
à l'URL - uniquement pour NotSuper DevMode. (c.-à-d. DevMode normal)
Cliquez sur le lien de raccourci "DevMode On" que vous avez copié à l'étape 5. Il devrait vous demander de choisir un module à compiler, cliquez sur le bouton Compiler.
Si vous voulez des sourcemaps (voir votre Java dans le navigateur de script Chrome), vous devez l'activer dans Chrome. Dans ma version de Chrome (Ubuntu) il y a un petit équipement en bas à droite de la console Chrome (Inspectez l'élément, puis regardez en bas à droite de la fenêtre du navigateur). Cliquez dessus et recherchez "Activer les cartes sources". Rechargez la page et elle devrait maintenant vous montrer les codes source.
Deux façons de lancer le mode super dev:
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
Dans Eclipse, créez un nouveau Application Java Lanceur (( pas un lanceur d'application Web!) Avec la configuration suivante:
Classe principale:
com.google.gwt.dev.codeserver.CodeServer
Arguments du programme:
-src src -workDir ${workspace_loc:MyProject}/codeserver -port 1234 com.foo.MyModule
-workDir
est facultatif
Arguments VM (Ceux-ci peuvent être nécessaires en fonction de la taille de votre projet. Si le bouton "Compiler" du superdevmode (dans le navigateur) disparaît immédiatement après avoir cliqué sur et rien ne semble se produire, il se peut que ça plante à cause d'une mémoire insuffisante)
-Xmx1024m -Xms512m
Chemin de classe: ajoutez gwt-codeserver.jar, gwt-dev.jar et gwt-user.jar au chemin de classe de lancement (ces pots se trouvent dans le GWT Répertoire d'installation du SDK).
J'ai adopté une approche légèrement différente. J'ai commencé avec l'existant projet Hello , puis je l'ai configuré pour fonctionner en mode Super Dev.
A. Construisez et déployez war pour le projet hello dans Tomcat.
B. Ajoutez une cible au build.xml du projet Hello.
<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. Exécutez le serveur de code à l'aide de ant codeserver
À partir de l'invite de commande.
D. Lancez le navigateur et accédez à http://localhost:9876/
Créez les signets
E. Lancez Chrome Dev Tools (F12) et Enable SourceMaps.
F. Lancez le navigateur et accédez à http://localhost:8080/Hello
G. Cliquez sur le signet "Dev Mode ON" lorsque vous êtes dans la page http://localhost:8080/Hello
H. Cliquez sur le bouton "Compiler" pour demander au serveur de code de charger le code source gwt dans le navigateur en tant que cartes source.
I. Vive les fichiers Java sont récupérés et peuvent être vus dans la source onglet de la console de développement Chrome.
J. Trouvez le Hello.Java. Cliquez sur le numéro de ligne pour définir le point de débogage @ Window.alert("Hello, AJAX");
.
K. Cliquez sur "Click Me" dans le Hello World. Le code s'arrête à votre point de débogage dans le fichier Java dans Chrome !!!!!!!! Hourra.
Référence avec captures d'écran - http://geekbybit.blogspot.in/2013/03/diy-working-with-gwt-codeserver-Tomcat.html
il y a une très bonne explication sur la façon dont cela fonctionne ici: http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/
vous devez faire glisser les livrets dans votre navigateur. Ensuite, démarrez votre application comme d'habitude. Ouvrez votre application dans le navigateur sans la partie "? Gwt.codesvr = 127.0.0.1: 9997". Vous pouvez maintenant utiliser les livrets pour démarrer le SuperDevMode.
J'espère que cela t'aides.
Avec le projet maven gwt multi-module, vous devez ajouter des emplacements de sources (projet de base et module) dans Exécuter la configuration:
-src src/main/Java/ -src ${workspace_loc:MyNewModule}/src/main/Java/ com.foo.MyModule