2011-01-24 9 views
1

私は奇妙な状況があります。 jar Aでは、私はcommons-dbcpのバージョン1.3を明示的に持ち込みます。 jar Bには依存関係があります。しかし、私はjar Bの依存関係を持っています。私の依存関係の階層は、jar Bが現在1.4を使っていることを示しています。その依存関係を取り除くと、commons-dbcpは私の依存関係階層から消えてしまい、他の場所に引き込まれていないことがわかります。そして、私がjar Aの依存関係階層にいるときは、1.3しか表示されません。1.4 Commons-DBCPが1.3の代わりに導入されました

これはなぜ起こっているのでしょうか?

答えて

1

Mavenは推移的な依存関係をもたらすバージョンを自動的に決定します。 commons-dbcpに複数の依存関係があるかもしれません(異なるスコープのテストでは表示されません)。その他の依存関係についてはMaven dependency pluginからmvn dependency:treeまでをご覧ください。

+0

私はそれに応じて、commons-dbcpに1つだけ依存します。 – AHungerArtist

+0

質問の詳細を拡張する必要があります。あなたのポンを見せてください。依存関係からの出力を表示する:ツリーなど。私がmvnを要求したバージョンとは異なるバージョンで取得した唯一の時間は、推移的な依存関係によるものです。あなたがそれを二重に定義していれば、それが起こるかもしれないと思います。一度dependcyManagementセクションに入ったら、もう一度依存関係に入りますか? – harschware

+0

物事をもう一度見た後、私は問題を理解しました。なぜそれが以前のjarファイルや依存関係ツリーに表示されなかったのですか? dbcpのバージョンは、私たちのチームが使用している親のpomに設定されており、それがそれをオーバーライドしています。あなたは私に調査をさせることを考えさせました。ありがとうございました。 – AHungerArtist

関連する問題