Il existe une solution claire pour partager le code de test commun entre les projets maven en utilisant l'objectif test-jar
du plugin maven-jar-plugin
(voir here).Partager les ressources de test entre les projets maven
Je dois faire la même chose avec les ressources de test, en particulier, je veux que les ressources de test du projet A soient disponibles dans le chemin de classe du projet B pendant le test.
Pour le projet A un besoin de déclarer:
<!-- Package and attach test resources to the list of artifacts: -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<jar destfile="${project.build.directory}/test-resources.jar">
<fileset dir="${project.basedir}/test-resources" />
</jar>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/test-resources.jar</file>
<type>jar</type>
<classifier>test-resources</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Et dans le projet B, il sera la dépendance normale:
<dependency>
<groupId>myproject.groupId</groupId>
<artifactId>myartifact</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>test-resources</classifier>
<scope>test</scope>
</dependency>
Question: Faut-il travailler dans tous les cas? Est-il possible d'emballer des ressources sans maven-antrun-plugin
(en utilisant plus de plugin 'léger')?
semble qu'il y ait un besoin d'améliorer le plugin de ressources à distance pour les ressources de test - http://maven.apache.org/plugins/maven-remote-resources-plugin/index.html – cetnar
@centar: merci pour les informations intéressantes sur le plugin, bien que, ce que vous avez dit est un peu offtopic :) –