2

Mavenテストスコープで実行しているときに、提供されたスコープの依存関係を除外するにはどうすればよいですか?特定の提供された実装を除外し、テストケースで別の実装に置き換える必要があるという珍しいユースケースがあります。Mavenテストには常に他のスコープも含まれているようですが、私の場合は例外を設けたいと思います。どうすればよいですか?

4

2 に答える 2

2

これを行う最も簡単な方法は、使用する依存関係ごとに2つのプロファイルを作成することだと思います。提供されたスコープを持つものをactivateByDefaultにすることができます。

それはこのように見えるかもしれません:

<profiles>
    <profile>
        <id>providedDependency</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <dependencies>
            <dependency>[provided dependency information]</dependency>
        </dependencies>
    </profile>
    <profile>
        <id>testDependency</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <dependencies>
            <dependency>[test dependency information]</dependency>
        </dependencies>
    </profile>
</profiles>

テストモードに移行するときは、提供された依存関係を非アクティブ化し、他の依存関係をアクティブ化します

mvn test -P!providedDependency,testDependency
于 2012-09-07T08:38:52.643 に答える
2

別のモジュールでテストを実行する必要がある場合があります。それはあなたがここで必要とするものかもしれません。これにより、テストでさまざまな依存関係、プロパティ、Javaのバージョンなどを使用できます。

于 2012-09-07T08:28:16.457 に答える