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 :
Avec ceci le jar snapshot contenant les classes de test de Module1 est effectivement généré, pas de problème.
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>
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 :
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.
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>
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.
Partager