多くのモジュールと多くのpom.xml
ファイルを含む大規模なMavenプロジェクトがあります。プロジェクトが変更され、pomに不要な依存関係が含まれていると思われます。未使用の依存関係をpomから削除するコマンドはありますか?
7 に答える
Maven依存関係プラグインは、特にdependency:analyze
目標に役立ちます。
dependency:analyze
このプロジェクトの依存関係を分析し、次のものを決定します。使用および宣言。使用済みおよび未宣言。未使用で宣言されています。
クリーンアップを行うのに役立つ可能性のあるもう1つのことは、 Mavenプロジェクト情報レポートプラグインからの依存関係収束レポートです。
他の人が言ったように、dependency:analyzeゴールを使用して、どの依存関係が使用されて宣言されているか、使用されていて宣言されていないか、または未使用で宣言されているかを見つけることができます。また、 dependency:analyze-dep-mgtは、dependencyManagement セクションで不一致を探すのに役立つ場合もあります。
POM から不要な直接依存関係を単純に削除できますが、それらがサードパーティの jar によって導入された場合は<exclusions>
、依存関係でタグを使用してサードパーティの jar を除外できます (詳細といくつかの議論については、依存関係の除外というタイトルのセクションを参照してください)。 . 以下は、Spring 依存関係から commons-logging を除外する例です。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.5</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
Maven依存関係プラグインを見たことがありますか?それはあなたのために何かを削除することはありませんが、あなたが自分で分析を行うことを可能にするツールを持っています。特に考えているのは
mvn dependency:tree
同様の問題があり、依存関係を削除するスクリプトを作成することにしました。それを使用して、依存関係の半分以上を簡単に取り除くことができました。
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html