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