316

多くのモジュールと多くのpom.xmlファイルを含む大規模なMavenプロジェクトがあります。プロジェクトが変更され、pomに不要な依存関係が含まれていると思われます。未使用の依存関係をpomから削除するコマンドはありますか?

4

7 に答える 7

238

Maven依存関係プラグインは、特にdependency:analyze目標に役立ちます。

dependency:analyzeこのプロジェクトの依存関係を分析し、次のものを決定します。使用および宣言。使用済みおよび未宣言。未使用で宣言されています。

クリーンアップを行うのに役立つ可能性のあるもう1つのことは、 Mavenプロジェクト情報レポートプラグインからの依存関係収束レポートです。

于 2009-10-04T22:59:55.780 に答える
45

他の人が言ったように、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>
于 2009-10-05T07:23:28.863 に答える
35

Maven依存関係プラグインを見たことがありますか?それはあなたのために何かを削除することはありませんが、あなたが自分で分析を行うことを可能にするツールを持っています。特に考えているのは

mvn dependency:tree
于 2009-10-04T22:51:55.013 に答える
15

同様の問題があり、依存関係を削除するスクリプトを作成することにしました。それを使用して、依存関係の半分以上を簡単に取り除くことができました。

http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html

于 2012-01-05T14:11:40.357 に答える