GWT Mode de Développement avec Eclipse/Maven
Je commence tout juste avec GWT. J'utilise Eclipse et d'avoir installé le plugin GWT.
J'ai suivi les instructions ici Maven GWT 2.0 et Eclipse à définir un projet GWT à l'aide de l'gwt-maven-plugin. Quand je lance le Maven objectifs gwt:compile gwt:run
, GWT Mode de Développement est lancé et je peux copier l'url de mon navigateur et afficher l'étiquette.
Cependant, le projet a ce problème:
Description: The web.xml file does not exist
Resource: WEB-INF
Path: /GWTExample/war
Location: Unknown
Type: Google Web App Problem
Si j'essaie de lancer le projet de Google de l'Application Web, je reçois cet avertissement:
[WARN] No startup URLs supplied and no plausible ones found -- use -startupUrl
Je peux me débarrasser de ce problème en copiant le web.xml à la guerre répertoire, mais j'ai toujours l'URL de problème lors de l'exécution comme un Google Web App.
Si je suis en utilisant Maven et GWT dans Eclipse, dois-je simplement ignorer l'web.xml problème et toujours exécuter des applications dans le mode de développement via Maven objectifs? Ou est-il un moyen de mettre les choses pour que je puisse courir comme un Google Web App?
EDIT: ci-dessus, est-il possible de déboguer une application GWT cours d'exécution, le mode de développement a commencé par gwt:compile gwt:run
? J'ai ajouté des points d'arrêt à ma demande, mais il ne s'arrête pas sur eux. Je ne suis pas sûr si c'est quelque chose que j'ai mal configuré ou si c'est juste pas possible.
Mise à jour:
En réponse à la Prem's de réponse...
Quand je lance un compile gwt:run
, l'web.xml le fichier n'est pas copié. Quand je lance le install gwt:run
, j'obtiens cette erreur:
[INFO] --- gwt-maven-plugin:1.2:test (default) @ SampleGWT ---
[INFO] using GWT jars from project dependencies : 2.0.4
[INFO] establishing classpath list (scope = test)
[ERROR] java.lang.NoClassDefFoundError: org/codehaus/mojo/gwt/test/MavenTestRunner
[ERROR] Caused by: java.lang.ClassNotFoundException: org.codehaus.mojo.gwt.test.MavenTestRunner
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[ERROR] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[ERROR] Could not find the main class: org.codehaus.mojo.gwt.test.MavenTestRunner. Program will exit.
[ERROR] Exception in thread "main"
Je suppose que le bug http://jira.codehaus.org/browse/MGWT-24 est inclus dans la version 1.2 de l'gwt-maven-plugin. Normalement, je ne voudrais pas courir installer sur un projet qui génère un fichier war, mais je m'attends à au moins passé le test de la phase du cycle de production.
N'quelqu'un a une idée de pourquoi je reçois ce message d'erreur sur l'installation mais pas de la compilation de buts? Aussi, devrais-je m'attendre le but soit de copier le web.xml fichier de src/main/webapp/WEB-INF/web.xml pour le /la guerre répertoire?
OriginalL'auteur sdoca | 2010-08-25
Vous devez vous connecter pour publier un commentaire.
gwt-maven-plugin crée un projet avec "guerre" format d'emballage (c'est une application web donc pas de surpirse ici). Web.xml pour ce projet sera sous "src/main/webapp' dossier qui sera copié à la "guerre" du répertoire (qui est défini comme le répertoire de sortie) dans le cadre des "ressources" dans la phase de l'maven build du cycle de vie. Vous devriez toujours utiliser
ou
de sorte que les ressources sont copiés, tous les fichiers java sont compilés et gwt:la compilation est également invoquée (puisqu'il est lié à l 'compiler' phase automatiquement)
Que par la stackoverflow lien que vous avez utilisé comme référence, seul votre maven build fichier de configuration avec startupUrl. Pour travailler dans Eclipse, vous devez modifier la Configuration d'Exécution de votre projet et ajouter l'option '-statupUrl' arguments de ligne de commande pour les arguments existants dans les "Arguments" du panneau.
Cependant, c'est juste un avertissement, et il ne devrait pas vous empêcher d'utiliser votre GWT application à partir d'eclipse. Si vous êtes confrontés à la même "web.xml" le problème, ici aussi, il pourrait être parce que vous n'avez pas compiler votre projet dans votre IDE avant d'invoquer les "Exécuter en tant qu'Application Web". Je vous suggère de désactiver "Construire Automatiquement" option pour ce projet et toujours construire manuellement et à l'appeler "GWT Compiler" et d'essayer ensuite "Exécuter en tant qu'application web"
En général, vous devez utiliser "à Distance de l'Application" configuration de débogage pour le débogage à distance d'un processus. Cependant, je ne suis pas sûr si elle va travailler pour GWT projets.
OriginalL'auteur Prem
J'ai eu moi aussi cette mise en garde:
lorsque j'ai suivi ce tutoriel gwt
Dans cette capture d'écran, il n'y a pas de case "Générer le code de l'échantillon" . Dans mon IDE ( sdk 2.5), il est, donc j'ai décoché...
Il n'a pas été créé de toute de la
server
etclient
paquets, j'ai créé laclient
manuellement, comme le tutoriel nécessaire. Le tutoriel jusqu'à ce que cette étape ne veut pas dire que je dois avoir unserver
paquet. Que et sa configuration est absente du projet.OriginalL'auteur
Si vous cliquez droit sur votre projet et allez dans les Propriétés -> Google -> Application Web, votre GUERRE répertoire a peut-être quelque chose comme soit
war
ousrc/main/webapp/WEB-INF/classes
.Changement de
src/main/webapp
.Aussi décochez la case à côté de "Lancement et delploy à partir de ce répertoire..."
C'est ce qui a résolu ce problème pour moi. Il fixe également le "ne peut pas trouver gwt-servlet.jar" le problème en même temps.
OriginalL'auteur user9901