mvn dependency:analyze
pom に不要な依存関係があるかどうかを示すために使用します (欠落しているエントリを追加-DoutputXML=true
して、欠落しているエントリを特定することもできます)。
プロジェクトで現在使用mvn dependency:tree
されている依存関係と、Maven がそれらを見つけている場所を表示するために使用します。-Dverbose=true
すべての重複と競合を表示するには、追加します。
a
に直接依存している場合c
(つまり、 のコードが のa
クラスに言及している場合c
)、pom はそれを反映する必要があります。a
が に直接依存している場合のみ、の pom.xml ファイルから依存関係をb
安全に削除できます。上記のコマンドにより、適切な次のアクションを判断できるはずです。c
a
編集:さて、質問を更新しました。方法は次のとおりです。
- プロジェクト
a
で、実行しますmvn dependency:tree -Dverbose=true
。これにより、プロジェクトの Maven によって考慮されるすべての依存関係の完全なツリーが表示されます。
- ステップ 1 の出力を見て、1 レベル以上の深さで示されているすべての依存関係のリストを作成します (それらのいくつかはおそらく重複しています)。
- 任意のエディターで pom.xml ファイルを編集し、ステップ 2 で作成したリストと一致する依存関係をすべて削除します。
または、それを自動的に行う方法を探していますか? あなたがやろうとしていることはBAD IDEAであるため、自分で作成しない限り、自動化された方法はないと思います。あなたは彼らの異論があなたの質問に「無関係」であると人々に言っていますが、実際には、あなたの質問は「どうすればMavenを使用してMavenをより使いにくくすることができますか?」と尋ねるようなものです.
これを行う正当な理由はありません。正当な理由があると思うなら、何らかの結果を生み出すためにそれをしようとしているに違いありません。あなたの計画は悪いものなので、望ましい結果が得られるように助けを求める必要があります。