22

IDE 用に IntelliJ で Maven 3 を使用しています。コンパイル後、Spring 2.0 のものが大量に外部ライブラリに含まれるようになります。Intellij で Maven プロジェクトの依存関係を調べると、Spring 2.0 に依存している人は誰もいないので、依存しているものに依存していると思われます。

私の質問は、これをどのように追跡するのでしょうか? 春を使用していることがわかっているルートまたはサブモジュールディレクトリから実行してmvn dependency:tree -Dverbose -Dincludes=spring-aop-Dincludes=spring結果は得られません。

4

3 に答える 3

14

に渡されたパターン-Dincludesが正しくないようです。

Maven Dependency Pluginのドキュメントから、の構文 -Dincludesは によって定義されStrictPatternIncludesArtifactFilterます。これがサブクラス化されたAbstractStrictPatternArtifactFilterの javadoc から、

アーティファクト パターンの構文は次の形式です。

[groupId]:[artifactId]:[type]:[version]

各パターン セグメントはオプションであり、完全および部分的な * ワイルドカードをサポートしています。空のパターン セグメントは、暗黙的なワイルドカードとして扱われます。

たとえば、org.apache.*グループ ID が で始まるすべてのアーティファクトと一致しorg.apache.:::*-SNAPSHOTすべてのスナップショット アーティファクトと一致します。

mvn dependency:treeおそらく、なしで実行して、 Spring 2.0関連の依存関係-Dincludesが表示されるかどうかを確認する必要があります。または、 に適切なパターンを指定します。-Dincludes

于 2011-01-05T04:38:42.423 に答える
10

検索している形式が間違っています。これを試して:

mvn dependency:tree -Dverbose -Dincludes=:spring*::

(spring で始まる groupId を持つアーティファクトを検索します)

またはこれ:

mvn dependency:tree -Dverbose -Dincludes=org.springframework

(artifactId org.springframework を持つアーティファクトを検索します)

于 2011-01-05T08:19:42.117 に答える
3

intellijを使用して簡単に修正してみませんか。pom.xml を開き、右クリックして (コンテキスト メニューを呼び出し)、[UML] > [依存関係を表示] を選択します (UML プラグインが有効になっていると仮定します)。アイデアはすべての重複する依存関係をマークし、ALT + Enter コンボを使用して依存関係を除外できます。@参照: http://blogs.jetbrains.com/idea/2010/05/maven-dependencies-diagram/

于 2011-01-06T20:18:22.580 に答える