10
votes

Maven et GWT (et Eclipse) - ça marche vraiment?

Au cours des derniers jours, j'ai essayé de créer / exécuter un projet dans Eclipse à l'aide du plug-in GWT-Maven et continuez à courir dans des barrages routiers (voir certaines de mes questions précédentes). J'aime utiliser Maven pour faire mes constructions, mais je suis au point où je pense à aller la route de construction de fourmis à cause des complications d'utilisation de Maven.

Est-ce que quelqu'un y a-t-il d'y avoir configuré / bien fonctionnel? Est-ce juste moi ou est-ce plus difficile que cela devrait être?


2 commentaires

Cet article récent sur le blog GWT peut être utile ... GoogleWebBToolkit.Blogspot.com/2010/08/...


@Jason Hall, merci pour le lien. J'ai créé un nouveau projet à l'aide de l'archétype GWT-Maven-Plugin, puis a suivi les étapes sur le blog pour convertir un projet Maven existant pour utiliser GWT. J'ai pu exécuter l'application mais obtenir la même erreur lorsque vous essayez de le déboguer comme dans mon commentaire à Hélios ci-dessous. :(


5 Réponses :


0
votes

Pour Eclipse, j'utilise: Plugin M2eclipse (1.0). Cela fonctionne bien avec une ou deux choses mineures. Téléchargez également le plug-in M2eclipse-Extras pour ajouter une fonctionnalité SVN et Maven (ou CVS si vous préférez).

Lorsque vous téléchargez, votre projet lit le POM.XML et [re] crée les fichiers de configuration Eclipse comme l'Eclipse MVN: Commande Eclipse.

pour GWT ... Je l'ai utilisé aussi. C'est une jolie configuration twiked mais cela fonctionne. J'utilise GWT 2.0.3, le plug-in Maven-Gwt utilise les dépendances pour travailler (no Ref to Gwt SDK) et il peut déboguer de Eclipse qui est tout simplement génial.

Vous devez compiler à une guerre Annuaire (pas la norme cible / classes). Mais les détails sont dans mon travail, alors laissez-moi le voir demain et compléter cette réponse :) N'abandonnez pas. C'est une bonne chose d'avoir GWT + Eclipse + Maven.

EDIT : une partie de ma configuration xxx

Et

pour le débogage, je crée deux tâches:

1) Maven Construire à l'intérieur de l'éclipse qui exécute deux buts: Guerre: Explodé GWT: Débogou

  • Le premier copie toutes les ressources en répertoire de guerre pour le débogage GWT pour les utiliser.
  • Suivant Le GWT est prêt.

    Vous devez peut-être exécuter GWT: compiler pour la première fois

    2) une configuration de débogage de l'application distante Java, avec votre projet sélectionné.

    Vous exécutez cette configuration lorsque le GWT: Débogou est "Écoute au port 8000"

    : ceci est dans un parent pom.xml (désolé je vais éditer Ce message plus tard :) xxx


4 commentaires

J'aurais dû mentionner que j'utilise aussi le plug-in M2eclipse. Je ne crois pas avoir les extras mais nous utilisons mercuriat comme système de versions. J'ai mis le plugin maven-war-warsourcedirectoire dans le répertoire "guerre". Je pense Je fais des choses comme je le devrais, mais continuez à courir dans des problèmes. Actuellement, je ne peux pas exécuter gwt: déboguer parce que je reçois l'erreur [erreur] n'a pas réussi à exécuter l'objectif org.codehaus.mojo: GWT-Maven-plugin: 1.2: Débogou (par défaut-cli) sur le projet MyProject: Commande [ [... ...]] Échec du statut 1 Et je ne sais pas pourquoi ...


Bonjour, j'ai passé un peu de temps les derniers jours à essayer d'obtenir GWT / Maven pour travailler dans Eclipse en fonction de ce blog ( GoogleWebToolkit.Blogspot.com/2010/08/... ), mais en vain. Lorsque vous avez dit "No Ref to GWT SDK" Vous voulez dire que vous n'avez pas le plug-in GWT Eclipse installé?


Nan. Je voulais dire que le plug-in GWT-Maven utilise les dépendances très gwt-utilisateur et GWT-servlet (HMMM ... Je n'incluait pas cela dans l'exemple) pour la compilation de la partie GWT du projet.


C'est: GWT-Maven-Plugin peut utiliser le répertoire de base SDK GWT ou vos dépendances. Cela a fonctionné pour moi avec les dépendances Donc, aucun REF sur aucun chemin local de GWT SDK était nécessaire.



2
votes

Il est plus difficile que cela devrait être, mais c'est possible. Toutes les allusions postées ici peuvent faire le tour. Cependant, vous pouvez toujours avoir des problèmes de classement. J'ai décidé de passer à GWT 2.1 et d'utiliser de nouvelles capacités de JettyLauncher. Vous pouvez créer votre propre lanceur de jetty comme celui-ci: xxx

puis ajouter -Server myjettylauncher option sur votre configuration de lanceur GWT. Avec une telle configuration, toutes les bibliothèques sont gérées par m2eclipse (vous pouvez même supprimer GWT SDK de ClassPath) et il n'est pas nécessaire de ne rien copier sur Web-INF / LIB (vous pouvez supprimer GWT- servlet.jar qui pourrait être déjà là).

Launcher prêt est ici dans la bibliothèque Tadadon: http://code.google.com/p/tadedon/source/browse/tadedon-gwt-dev/src/main/java/com/xemantic/tadedon/gwt/dev/jettylauncher.java < / a>


0 commentaires

5
votes

Après beaucoup de frustration essayant de faire jouer des choses bien ensemble, c'est la configuration que j'ai cette "fonctionne" pour moi. "Travaux" signifiant que je peux créer, exécuter et déboguer un projet GWT avec des modifications, mais ce n'est pas la solution la plus élégante.

Créer le projet H2>

Une grande partie des étapes sont les mêmes que la réponse de Pascal Dans ce message: Maven GWT 2.0 et Eclipse . Je vais énumérer le mien pour être clair. P>

dans Eclipse (Helios) avec les plugins Eclipse M2eclipse et GWT installés: P>

Créer un nouveau projet Maven à l'aide de l'archétype GWT-Maven-Plugin p>

Modifier le pom.xml: p>

  • SET code> à 2.0.4 (doit être identique que GWT Eclipse Version du plugin) li>
  • SET CODE> ET code> propriétés à 1.6 li>
  • Supprimer generateasync but> code> de gwt-maven-plugin code> config li>
  • Ajouter Maven-War-Plugin à Pom.xml Li> ul>

    Exemple de plug-in Maven-War-War-War: P>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
        <warSourceDirectory>war</warSourceDirectory>
            <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
        </configuration>
    </plugin>
    
    • Google -> Boîte à outils Web, cochez la case "Utiliser Google Web Toolkit" et assurez-vous "Utiliser par défaut SDK (GWT-2.0.4) est sélectionné. LI> ul>

      Run Maven "GWT: Eclipse" Objectif sur le projet (configuration de l'environnement et de lancement de la configuration) P>

      copie * .Launch fichier à Workspace.metadata.plugins \ org.eclipse.debug. core.launches p>

      redémarrage eclipse p>

      Compile / Run Project H2>

      J'ai créé une configuration d'exécution qui fait MVN Clean Compile Compile GWT: exécuter code> . Le GWT: Exécution est nécessaire pour copier les ressources et les pots LIB dans le répertoire de guerre. Cependant, il ne copie pas le web.xml de SRC / MAIN / WEBAPApp / Web-Inf dans WAR / WEB-INF /. Donc, je dois copier manuellement ce fichier. P>

      Si je veux exécuter ma demande, l'étape ci-dessus suffit. Toutefois, si je souhaite déboguer de la demande, je le lance en choisissant la configuration Google "Application Web" des configurations de débogage créées lorsque le fichier .Launch a été copié précédemment. Cette configuration permet de déboguer (points d'arrêt, etc.) sans autre configuration ou besoin de débogage à distance. P> p>


1 commentaires

Attention à la mise à niveau vers Eclipse Indigo et M2 1.0. Je n'ai pas de fin des ennuis l'obtenir pour travailler à nouveau.



0
votes

Helios a écrit une bonne explication. Mais ce n'est pas réel pour le moment. Donc, je vous conseille d'essayer mon moderne exemple d'application d'oreille en cours d'exécution sur Glassfish et avec le support complet de débogage .


0 commentaires

2
votes

Oui, en 2016, il fait, assez bien. :)

Je lance Tomcat à partir de Eclipse, je lance GWT CODEESERVER (mode SuperDev) de Eclipse, je lance Chrome à partir de Eclipse.

Vous trouverez des didacticiels assez récents et très précieux sur la chaîne YouTube de Brandon Donnelson: https://www.youtube.com/user/branflake2267/videos

Qu'est-ce qui est essentiel pour moi est Eclipse débogueur pour GWT SuperDevmode : https: // sdbg. github.io/

Je préfère avoir mon projet "mavenisé", et il y a beaucoup d'archétypes Maven Maven fournis également par Brandon : https://github.com/branflake2267/archetypes/tree/master/archeTypes

Le point de départ officiel (non seulement) pour télécharger le plugin GPE (ne pas confondre avec le plugin debugger mentionné ci-dessus) est sur gwtproject.com : http://www.gwtproject.org/download.html
Pour moi, le GPE personnellement est devenu un composant "commodité" plutôt facultatif. (Oui, refactoring et achèvement automatique sont agréables à avoir, mais c'est tout ce dont il est nécessaire. :)

Ce n'est pas une solution en un clic, et je le préfère comme ça, comme ceux-ci ont tendance à être sujets aux boîtes noires.

et BTW Assurez-vous de jeter un coup d'œil à GWT Matériel : http://gwtmaterialdesign.github.io/gwt-material-demo/

(jouant actuellement avec 2.8-bêta1.)


0 commentaires