2012-03-13 3 views
1

私は2つの設定、テストとランタイムを持つプロジェクトを持っています。テストはランタイムを拡張するので、テストを実行するにはすべてのランタイム依存性が必要です。Ivyを使ってビルドとテストに依存するバージョンを同じにする方法を教えてください。

テスト用のconf内の余分な依存関係が、実行時にそれ以降のバージョンのものを引き込まないようにするにはどうすればよいですか?例えば、私のプロジェクトが、コモンズコレクション2.1.1のランタイム依存性とhtmlunit 2.9のテスト時の依存性(これはコモンズコレクション3.2.1に依存しています)を表しています。私はcommons-collections 3.2.1を使ってテストしないでください。そして、commons-collections 2.1.1を使って展開しますか?

編集:可能であれば、どのモジュールが影響を受けているかを知ることに頼らないソリューションを希望します。つまり、依存関係を変更するたびにこれをチェックする必要はありません。

答えて

1

指定する推移的な依存関係が無視されるように、常にexclude on the dependencyを使用できます。これはa module excludeとは異なり、プロジェクト全体の依存関係は除外されます。

+0

歓声この問題は、特定の問題を発見した後は良い解決策に見えますが、私が依存関係を変更するたびにこれをチェックする必要がない、より一般的な解決策を望んでいました。 – ashirley