51

コンパイルとランタイムに必要な依存関係がありますが、テストの実行時にそれを除外したいと思います。これは可能ですか?たぶん、プロファイルを設定することによって?testしかし、ライフサイクルフェーズでのみ非アクティブ化するにはどうすればよいですか?

4

1 に答える 1

63

Mavenのsurefireプラグインのおかげで、テストフェーズ中にクラスパスを(再)構成できます。クラスパス要素を追加したり、依存関係を除外したりできます。

<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>

@jFreneticが指摘しているように、 maven-failsafe-pluginでも同じことができます。

于 2012-08-22T07:16:04.833 に答える