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 :

Dépendance sur Jar de test


Sujet :

Maven Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Points : 62
    Points
    62
    Par défaut Dépendance sur Jar de test
    Bonjour,

    J'ai un projet sous Maven contenant plusieurs modules. Disons Module1 et Module2, chacun ayant son pom. Je voudrais intégrer une dépendance de Module2 sur Module1, ça pas de soucis.

    Par contre je voudrais aussi que mes classes de test de Module1 puissent être utilisées par les classes de test de Module2.

    Pour cela j'ai ajouté dans le pom de Module1 :
    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
    <build>
      <plugins>   
    ...
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>jar</goal>
                  <goal>test-jar</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
            </configuration>
          </plugin>
        </plugins>
    </build>
    Avec ceci le jar snapshot contenant les classes de test de Module1 est effectivement généré, pas de problème.

    Là où arrive mon problème c'est lorsque je crée la dépendance dans le pom de Module2. J'ai naïvement ajouté ceci dans ce pom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <dependencies>
    ...
      <dependency>
        <groupId>com.xxx.storage</groupId>
        <artifactId>Module1</artifactId>
        <version>1.0-SNAPSHOT</version>
      </dependency>
      <dependency>
        <groupId>com.xxx.storage</groupId>
        <artifactId>Module1</artifactId>
        <version>1.0-SNAPSHOT-tests</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
    Mais il ne prend alors plus compte de la dépendance sur la version 1.0-SNAPSHOT du jar (donc mes classes normales). Si je n'ajoute pas la dépendance sur 1.0-SNAPSHOT-tests il ne connait pas cette fois mes classes de test.

    Le fait d'importer le même jar dans 2 versions différentes pose apparemment un problème. Je précise que lorsque je ne mets que le 1.0-SNAPSHOT ou que le 1.0-SNAPSHOT-tests le jar soit de test soit normal est bien téléchargé par maven, le problème ne vient donc pas de là.

    Merci d'avance pour toute aide.

  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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Hello,

    Voici ce que nous avons sur notre projet :

    On ajoute bien le <goal>test-jar</goal> dans le pom.xml (nous, c'est dans le pom parent).

    Dans le "Module 2", on déclare la dépendance vers les classes de test du module 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        <dependency>
            <groupId>my.group</groupId>
            <artifactId>module1</artifactId>
            <version>1.0-SNAPSHOT</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
    Voilà.

    Edit : En gros, il te faut faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      ...
      <dependency>
        <groupId>com.xxx.storage</groupId>
        <artifactId>Module1</artifactId>
        <version>1.0-SNAPSHOT-tests</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>
    </dependencies>
    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
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Points : 62
    Points
    62
    Par défaut [Résolu] Dépendance sur Jar de test
    Ca marche !

    Merci beaucoup romaintaz pour cette réponse claire et rapide en plus.

    Juste une précision, si d'autres se posent la même question, j'ai mis ceci dans mon pom :
    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
    ...
      <dependency>
        <groupId>com.xxx.storage</groupId>
        <artifactId>Module1</artifactId>
        <version>1.0-SNAPSHOT</version>
      </dependency>
     
      <dependency>
        <groupId>com.xxx.storage</groupId>
        <artifactId>Module1</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>
     
    </dependencies>
    Qui a donc pour effet d'inclure les sources et lors sources de test lors des tests.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MAVEN 2]Question sur .jar
    Par marcxa44 dans le forum Maven
    Réponses: 2
    Dernier message: 02/08/2007, 13h43
  2. Réponses: 1
    Dernier message: 02/06/2007, 19h10
  3. [Maven2] Dépendance sur un SVN
    Par arnobidul dans le forum Maven
    Réponses: 1
    Dernier message: 15/05/2007, 12h31
  4. Dépendance entre jar situés au meme niveau dans un EAR
    Par florentB dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/04/2007, 17h09
  5. [JSTL] c:if erreur TLD sur l'attribut test
    Par debut_java dans le forum Taglibs
    Réponses: 9
    Dernier message: 25/03/2007, 18h12

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