1

これは私が偶然見つけた実際の例です。次の宣言を含むスプリングコンテキストアーティファクトがあります(spring.versionは3.2.4.RELEASEです):

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>${spring.version}</version>
</dependency>

このページhttp://www.mvnrepository.com/artifact/org.springframework/spring-context/3.2.4.RELEASEをチェックすると、段落に表示されます (このアーティファクトは ... に依存します) すべての依存関係が表示されます上記の宣言を使用するとインポートされます。それらの 1 つが hibernate-validator(4.3.0.FINAL) です。

後で、pom.xml ファイルで別のバージョンの hibernate-validator を使用することにし (たとえば、新しいバージョンであるため)、次のコードを宣言します。

<dependency>
     <groupId>org.hibernate</groupId>
     <artifactId>hibernate-validator</artifactId>
     <version>4.3.1.Final</version>
</dependency>

現在、私のプロジェクトは 2 つの異なるバージョンの hibernate-validator をインポートしているようです。プロジェクトで使用されているのはどれですか? ありがとうございました。

4

2 に答える 2

6

魔法の言葉はdistance、プロジェクトに最も近いものが使用されるということです。したがって、プロジェクトの pom で定義すると、それが使用されます。また、どのバージョンがさまざまな方法で使用されているかを示すいくつかの目標を持つmaven-dependency-pluginを確認することもできます。

于 2013-09-07T14:00:36.377 に答える
2

私が使用している依存関係を確認するには、これが役立つことがわかりました: http://maven.apache.org/plugins/maven-dependency-plugin/examples/filtering-the-dependency-tree.html

基本的にcmdで次のように入力します:

mvn dependency:tree

プロジェクトのすべての依存関係が表示されます。

タイプ

mvn dependency:tree -Dincludes=velocity:velocity

また、速度の依存関係ツリーのみが表示されます。(入力のパターンは groupId:artifactId です)。

于 2013-09-08T06:21:00.850 に答える