2012-01-12 6 views
3

Mavenビルドからtestを実行しているときにNoSuchMethodError例外が発生しました。私は、Mavenが戦争で同じライブラリの複数のバージョンをバンドルしていることを認識しました(いくつかの推移的な依存性には異なるバージョンがあります)。それはデフォルトの動作ですか?私はあまりにも誰かがそれを望むことができるか見て失敗するまた、除外タグにはバージョン(または範囲)がないため、競合するバージョンを除外できないことが判明しました。 Mavenが戦争に同じライブラリの複数のバージョンを追加するのを防ぐ方法はありますか?ありがとうございました。MavenはWAR内の同じライブラリの複数のバージョンをバンドルします

編集:ええ、私はそれを除外することができ、それは私のPOMに依存しています。しかし、これはエレガントなソリューション(上流の変化に問題を引き起こす可能性があります)からは遠いです。

答えて

0

いくつかの依存関係を除外するようにアセンブリプラグインを構成できます。しかし、これは、依存関係のセクションで異なるバージョンの重複を除外することと同じです。ですから、依存関係のセクションで重複を除外することを強くお勧めします。また、あなたのプロジェクトには適切な依存関係管理がないかもしれません。これを正しく使用すると、同じpom内にすべての除外があります。

関連する問題