IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Maven GWT gwt-maven-plugin


Sujet :

Maven Java

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut Maven GWT gwt-maven-plugin
    Bonjour à tous,

    Je travaille depuis quelques temps sur gwt avec maven et aujourd'hui me décide d'utiliser le plugin gwt-maven-plugin pour créer mon projet.
    Je lance donc ma ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.4.0
    -DgroupId=net.blablabla -DartifactId=mon-artefact -Dversion=1.0-SNAPSHOT -Dmodule=MonModule
    J'importe le projet et la je découvre 3 erreurs que j'arrive à résoudre en modifiant les paramètres dans Eclipse. C'est pour moi le premier problème
    Comment se fait-il que ce plugin créer exprès n'arrive pas à configurer mon projet Eclipse
    Peut-être du à la version de mon Eclipse ? Indigo

    Le second et lorsque je dois commiter se projet sur le SVN. Que dois-je envoyer ?
    Normalement il ne faut envoyer que les sources ressources et le pom.xml ?
    Et en faisant un mvn eclipse:eclipse -Dwtpversion=2.0 le projet devrait se reconstruire. Et bien non, il faut reprendre à zéro la configuration du projet sous Eclipse.
    Du coup, je me dis que Maven n'a aucune utilité dans mon cas, car si une nouvelle personne arrive sur le projet elle n'est pas censé connaitre la configuration du projet...

    Qu'en pensez-vous ?

    Merci pour votre aide
    Images attachées Images attachées  

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Tu intègres ton projet avec une commande mvn eclipse:eclipse ? Quelle version du plugin eclipse est utilisée ?

    Quels sont les problèmes rencontrés ?

    As-tu tenté avec m2eclipse, en important le projet tel quel (i.e. sans lancer mvn eclipse:eclipse).

    De mon point de vue, je suis contre le fait d'ajouter dans le SCM les fichiers propres à l'IDE (.classpath ou .project pour Eclipse). Mais il est évident (ce qui ne semble pas être le cas ici) que l'on doive réussir à importer sans problème le projet dans son IDE...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    ps (après avoir vu ton image attachée) :

    2 des erreurs semblent liées à l'utilisation de JUnit 3.x (on étend TestCase pour écrire un test), mais peut-être que JUnit n'est pas défini comme dépendance dans le pom.xml. Il suffit de l'ajouter :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
            </dependency>

    Pour le second, il semble qu'un peu de configuration du pom puisse résoudre le problème.

    Le plugin archetype permet de générer un squelette d'application. Il se peut que des erreurs arrivent, il suffit de les corriger, et de commiter les modifications. Le plugin archetype n'étant appelé qu'au tout début de la création du projet, cela ne posera plus de soucis par la suite.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    Tout d'abord je crée le squelette de mon projet avec la commande
    mvn archetype:generate .....

    Il me génère les fichiers du projet Eclipse ainsi que le pom.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
     
    <?xml version="1.0" encoding="UTF-8"?>
    <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/maven-v4_0_0.xsd">
     
      <!-- POM file generated with GWT webAppCreator -->
      <modelVersion>4.0.0</modelVersion>
      <groupId>groupid</groupId>
      <artifactId>mon-artefact</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>GWT Maven Archetype</name>
     
      <properties>
        <!-- Convenience property to set the GWT version -->
        <gwtVersion>2.4.0</gwtVersion>
        <!-- GWT needs at least java 1.5 -->
        <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
     
      <dependencies>
        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-servlet</artifactId>
          <version>${gwtVersion}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-user</artifactId>
          <version>${gwtVersion}</version>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.7</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>javax.validation</groupId>
          <artifactId>validation-api</artifactId>
          <version>1.0.0.GA</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>javax.validation</groupId>
          <artifactId>validation-api</artifactId>
          <version>1.0.0.GA</version>
          <classifier>sources</classifier>
          <scope>test</scope>
        </dependency>
      </dependencies>
     
      <build>
        <!-- Generate compiled stuff in the folder used for developing mode -->
        <outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
     
        <plugins>
     
          <!-- GWT Maven Plugin -->
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.4.0</version>
            <executions>
              <execution>
                <goals>
                  <goal>compile</goal>
                  <goal>test</goal>
                  <goal>i18n</goal>
                  <goal>generateAsync</goal>
                </goals>
              </execution>
            </executions>
            <!-- Plugin configuration. There are many available options, see 
              gwt-maven-plugin documentation at codehaus.org -->
            <configuration>
              <runTarget>StarsLocaux.html</runTarget>
              <hostedWebapp>${webappDirectory}</hostedWebapp>
              <i18nMessagesBundle>groupid.client.Messages</i18nMessagesBundle>
            </configuration>
          </plugin>
     
          <!-- Copy static web files before executing gwt:run -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <executions>
              <execution>
                <phase>compile</phase>
                <goals>
                  <goal>exploded</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <webappDirectory>${webappDirectory}</webappDirectory>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
              <source>1.5</source>
              <target>1.5</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
     
    </project>
    Ensuite j'importe directement ce projet dans Eclipse pour voir si tout fonctionne mais visiblement il y a quelques couac. (Voir capture d'écran de mon premier message).

    Et je suis d'accord avec toi pour ne pas ajouter dans le SCM les fichiers de conf de l'IDE mais la je vois pas trop comment et ça ne me plais pas du tout

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    Personne d'autre n'a une idée concernant la création de projet GWT avec Maven ?

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Tu l'importes via m2eclipse comme projet Maven ?
    As-tu essayé un simple mvn eclipse:eclipse, et de l'importer comme projet Eclipse (pas Maven !) ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    Je viens de retenter en notant toutes les étapes :

    1. Génération du projet avec archetype *
    2. Suppression de toute la conf eclipse générée (.settings, .project, etc...)
    3. Lancement commande
    4. Import "Existing projects into Workspace"


    *
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mvn archetype:generate 
    -DarchetypeGroupId=org.codehaus.mojo 
    -DarchetypeArtifactId=gwt-maven-plugin 
    -DarchetypeVersion=2.4.0 
    -DgroupId=com.monmodule
    -DartifactId=MyProject
    -Dversion=1.0-SNAPSHOT 
    -Dmodule=MonModule
    La conf google dans eclipse est à refaire
    Le default output folder est définit d'une façon étrange MyProject/target/MyProject-1.0-SNAPSHOT/WEB-INF/classes

    Point positif, la commande mvn gwt:run fonctionne tout de même.
    Mais je trouve dommage de perdre toute la configuration Eclipse.

  8. #8
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Citation Envoyé par FabienN Voir le message
    Personne d'autre n'a une idée concernant la création de projet GWT avec Maven ?
    Quelle est ta version de M2Eclipse + WTP celle de Sonatype (i.e 0.x) ou celle d'Eclipse (i.e 1.x) ?

    Je dis celà car cette page semble se référer à la version Sonatype...
    http://mojo.codehaus.org/gwt-maven-p...archetype.html

    Pour reconstruire ton projet eclipse, IMHO, tu dois lancer le goal gwt:eclipse et non pas eclipse:eclipse (voir ici)

    a+
    Philippe

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    J'ai mis une capture d'écran car je ne comprends pas tout

    La commande gwt:eclipse ne génère que les lanceurs et pas les fichiers de configuration d'eclipse
    Images attachées Images attachées  

  10. #10
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Citation Envoyé par FabienN Voir le message
    J'ai mis une capture d'écran car je ne comprends pas tout

    La commande gwt:eclipse ne génère que les lanceurs et pas les fichiers de configuration d'eclipse
    Il n'est pas bon de mettre la conf eclipse en gestion de conf... grr, très bizarre qu'ils n'aient pas prévu de reconstruire le projet...

    Tu disposes de la dernière version du plugin M2Eclipse... Il faudrait voir si gwt-maven-plugin 2.4 est compatible avec cette version du plugin.

    As-tu lu ce billet excilys et excilys2 ?

    Au pire (ou mieux en fait) un petit mail Pierre-Yves Ricaud ou Nicolas De Loof qui contribuent au projet...

    a+
    Philippe

  11. #11
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    Effectivement ce n'est pas aisé de reconstruire le projet à partir du POM.

    Je crois effectivement qu'ils n'ont pas prévu le cas ou on ne commit pas les fichier de confs d'eclipse dans le SVN.

    Oui j'ai lu ces post mais ils ne donnent pas une solution triviale à la reconstruction du projet à partir du SVN.

    Je continue mes recherches et je contacterai surement ces personnes pour essayer de trouver une solution.
    Je vous tiens au courant et si entre temps vous avez LA solution n'hésitez pas hein

    Merci de votre aide.

  12. #12
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Sur Github, tu peux trouver des forks de l'archertype GWT ainsi que ce Connecteur pour M2E 1.x: m2e-gwt (http://code.google.com/p/gwt-m2e/). Celà devrait résoudre les problèmes de compilation lorsque tu actives la nature Maven dans Eclipse (Lifecycle mapping not available). Pour le reste...

    Il est disponible depuis le MarketPLace d'Eclipse et non pas depuis celui de M2Eclipse!

  13. #13
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    Je regarde ça dès que possible, car j'ai pas mal de travail en ce moment.
    Merci de votre aide
    Je vous tiens au courant.

    Et pour les autres si vous avez des pistes n'hésitez pas

Discussions similaires

  1. Conversion d'un projet GWT : ant -> maven
    Par Sandro Munda dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 04/03/2010, 16h05
  2. [Maven 2][GWT] Plugin GWT
    Par Sniper37 dans le forum Maven
    Réponses: 0
    Dernier message: 28/12/2009, 15h44
  3. Mode debug : maven et GWT
    Par Space23 dans le forum Maven
    Réponses: 0
    Dernier message: 06/04/2009, 10h57
  4. GWT et Maven
    Par dialloma dans le forum Maven
    Réponses: 1
    Dernier message: 06/03/2009, 08h52
  5. Gwt avec Maven
    Par med_anis_dk dans le forum Maven
    Réponses: 2
    Dernier message: 12/11/2008, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo