2009-07-28 11 views
3

私は、私のプロジェクトでは、サードパーティの依存性を持つオープンエンドのバージョン参照してその依存関係を参照している:サードパーティのパッケージ依存関係のバージョンを制限する方法は?

私は私の依存関係はのバージョンを使用していない私のプロジェクトでこの を無効にするにはどうすればよい
<version>[4.0,)</version> 

特定のバージョン、例えば6.0より後の依存関係(6.0より後のバージョンでは、私が欲しくない他のパッケージが必要です)

答えて

3

プロジェクトで推移的な依存関係を明示的に指定すると、指定したバージョンが優先されます。

たとえば、あなたのPOMでは、このような排他的な上限でバージョン範囲とcom.foo:barに依存関係を追加:

<dependencies> 
    <dependency> 
    <groupId>com.foo</groupId> 
    <artifactId>bar</artifactId> 
    <version>[4.0,6.0)</version> 
    </dependency> 
</dependencies> 

アップデート(2):私はこれをテストし、それ作業を行います(私は持っていました私のテストプロジェクトのタイプミス)。ここに私のテストの説明があります。

私はテストベース、テスト依存、テスト推移の3つのテストプロジェクトを持っています。 テストベースプロジェクトはテスト依存性に直接依存しますが、テスト依存性はテスト移行に依存しないオープンな依存関係を持っています。 私は依存した場合は3つのインストールのテスト推移のバージョン、0.0.1、1.0.1、および2.0.1 を持っている:私は明示的に追加した場合

name.seller.rich:test-base:jar:0.0.1 
\- name.seller.rich:test-dependency:jar:0.0.1:compile 
    \- name.seller.rich:test-transitive:jar:2.0.1:compile 

:テストベースのツリーを、私はこれを見ます依存関係の範囲が[0.0.1,2.0.0]に設定されているテストベースのテスト推移依存性の場合、代わりにこのツリーが表示されます。

name.seller.rich:test-base:jar:0.0.1 
+- name.seller.rich:test-dependency:jar:0.0.1:compile 
\- name.seller.rich:test-transitive:jar:1.0.1:compile 
関連する問題