7

私の上司は、特定の Maven pom ファイルの依存関係をスコープ、グループ、およびアーティファクト ID でソートすることを好みます。

私は最近、ソートされていないかなりの数の依存関係を持つかなりの数のプロジェクトを継承しました。だから私はそれらを並べ替えました。

簡単に言うと、誤って依存関係を削除したり、間違ったソートされた依存関係を間違った pom にコピーしたりしないようにしたいのです。

そのため、pom を以前のバージョンと比較し、どの依存関係が追加または変更されたかを表示する何らかのメカニズムまたは Maven レポート プラグインがあるかどうか疑問に思っていました。

このようなものは存在しますか?

4

4 に答える 4

12

私は単純なスクリプトを使用して依存関係のソートされたリストを取得し、それらを meld などの difftool と比較するのが好きです。

#!/bin/bash
# first grab all dependencies
mvn dependency:resolve >/dev/null

# then list them with -o to keep noise low,
# remove extra information and duplicates
mvn -o dependency:list \
| grep ":.*:.*:.*" \
| cut -d] -f2- \
| sed 's/:[a-z]*$//g' \
| sort -u 
于 2016-07-19T14:18:55.063 に答える
2

これを行う最も簡単な方法は、Eclipseの「Effective POM」ビューを使用することでした。

これはそれを行う方法です

  1. Eclipse で最初の pom を開きます。
  2. その pom の [依存関係階層] タブをクリックします。
  3. Eclipse で 2 番目の pop を開きます。
  4. その pom の [依存関係階層] タブをクリックします。
  5. 2 つ目の pom ウィンドウを Eclipse の外にドラッグして 2 つ目の Eclipse ウィンドウを作成し、pom の依存関係を並べて表示できるようにします。

お役に立てれば :)

于 2015-11-07T01:52:06.150 に答える
2

Maven で依存関係の問題を解決する最善の方法は、次のコマンドです。

mvn dependency:tree
于 2013-03-29T19:50:19.487 に答える