web-dev-qa-db-fra.com

Exclure la dépendance maven pour les tests

J'ai une dépendance qui est nécessaire pour une compilation et un runtime mais je veux l'exclure lors de l'exécution des tests. Est-ce possible? Peut-être, en créant un profil? Mais comment puis-je le désactiver uniquement pour la phase de cycle de vie test?

39
jFrenetic

Vous pouvez (re) configurer le chemin de classe pendant la phase de test grâce au plugin maven surefire . Vous pouvez ajouter des éléments de chemin de classe ou exclure des dépendances.

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.2</version>
        <configuration>
          <additionalClasspathElements>
            <additionalClasspathElement>path/to/additional/resources</additionalClasspathElement>
            <additionalClasspathElement>path/to/additional/jar</additionalClasspathElement>
          </additionalClasspathElements>
          <classpathDependencyExcludes>
            <classpathDependencyExclude>org.Apache.commons:commons-email</classpathDependencyExclude>
          </classpathDependencyExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

Comme indiqué par @jFrenetic, vous pouvez faire la même chose avec maven-failafe-plugin .

49
gontard