2011-07-22 7 views
25

Mavenプロジェクトに重複したライブラリを含めないようにしたいと思います。私はメイン、Springのリポジトリ、JBossのリポジトリを含むいくつかの異なるリポジトリからかなりの依存関係を引き出しています。どのようにして依存関係のグラフを見ることができるので、単一のライブラリの複数のバージョンに依存していないことを確認できますか?Mavenで依存関係ツリーを表示しますか?

私が変なふうに春のリポジトリ名物事ので、実際、それが聞こえる奇妙などとして、など、さまざまな依存関係を表示しますorg.springframework:spring-core:3.0.1.RELEASEorg.springframework:org.springframework.spring-core:3.0.5.RELEASEのようなものを含めた場合、それは一種の残念だろう。依存関係が重複していないことを確認するにはどうすればよいですか?

答えて

37

dependency:tree mavenプラグインは、あなたが望むことを行い、ツリーを表示する必要があります。

またforce Maven2 to copy dependencies into target/libも重複して表示されるはずですが、あなたはまだ手動でどのバージョンで引っ張っていると、それがために時間がかかることになるライブラリを参照する~/.m2/repository内のすべてのPOMをgrepする必要があるだろうtarget/libディレクトリ内のアーティファクトをコピーするには大規模なローカルリポジトリ。

+3

の開発者の一人です。あなたは、勝利に欠けているわけではありません。 –

0

ライブラリが重複する可能性はありますが、重複するライブラリは重複していなくても存在します。 JBoss Tattletaleは一連のjarファイルを分析し、すべての重複したクラスをリストするレポートを生成することができます。 http://docs.jboss.org/tattletale/userguide/1.2/en-US/html/maven.html

0

依存関係ツリー(プロジェクトのすべてのモジュール、推移的な依存関係、追い出し情報を含む)をグラフィカルに表示したい場合は、UpdateImpactをチェックしてください: https://app.updateimpact.com(無料サービス)

検索を使用すると、特定のライブラリを何回インポートしたか、どのモジュールとどのバージョンで検索するか、古いバージョンのライブラリが新しいものから削除されているかどうかを確認できます。

免責事項:私は私が必要とまさにサイト

+0

製品を宣伝するためにスパミング/プランニングを停止します。私はすべての質問であなたの広告を少なくとも見ます。 –

+0

このサービスは無料であるため、他のサイトへのポインタよりも広告はありません。そして、私はその件に関して合計2つの質問があると思うので、ほとんど「すべて」です:) – adamw

関連する問題