GWT + maven multi-module + eclipse
Bonjour,
ceci n'est pas une question, juste une info.
J'ai passé un temps fou à mettre en place un projet GWT + maven multi-module à partir des plug-in maven et gwt d'eclipse.
J'ai fini par trouver une solution que je soumet ici pour ceux qui rencontrerait éventuellement les même difficultés.
Cette technique a été testée avec Eclipse Juno, GWT 2.5.0, et le dernière version du plugin maven (je trouve plus la version)
(désolé pour le franglais, mon eclipse est en anglais) :
1) créez un projet/module maven avec gwt-maven-plugin (v. 2.4.0 et 2.5.0 testé) (ne pas oublier d'ajouter une propriété "module")
Vous pouvez l'ajouter avec les paramètres suivants :
-DarchetypeGroupId=org.codehaus.mojo \
-DarchetypeArtifactId=gwt-maven-plugin \
-DarchetypeVersion=2.5.0
2) Allez dans les propriétés du projet(clic droit sur le projet)/java Build Path/Source => supprimer le contenu des Excluded (selectionner => delete)
3) Dans properties/Deployment Assembly, ajoutez Java Build Path Entries/maven dependencies
4) Dans properties/google/Web Application, décochez "Launch and deploy from this directory"
5) ajoutez un Source Folder dans Java resources, et l'appeler "target/generated-sources/gwt" (vous pouvez simplement l'ajouter à partir de file/new/source folder et sélectionner le bon projet)
6) run as -> maven generated-sources (pas indispensable à chaque fois apparemment)
7) créer un folder war à la racine du projet (ou n'importe où, et avec n'importe quel nom, mais l'emplacement et le nom me paraisse pertinant)
8) run as -> web application -> sélectionnez le folder créé à l'étape précédente.
9) tester sur votre navigateur à l'adresse proposée, et normalement, ça fonctionne
Note 1 : je n'utilise pas les testes unitaires, pas de garantie à ce niveau
Note 2 : il se peut qu'il reste des erreurs : elles n'empêche pas le bon fonctionnement du programme, ni même son déployement.
Note 3 : le point 3 permet de forcer le compilateur à placer tous les .jar dans le dossier /web-inf/lib du dossier war => ça n'est pas fondamental pour le fonctionnement basique du projet, par contre c'est nécessaire si, comme moi, vous faites du maven multi-module.
Voilà, en espérant que ça aide quelqu'un