ホームページ  >  記事  >  Java  >  Maven 依存関係図の例の詳細な説明

Maven 依存関係図の例の詳細な説明

零下一度
零下一度オリジナル
2017-06-26 14:31:031378ブラウズ

推移的な依存関係と依存関係のスコープ

Maven の依存関係は A->B、B->C のように推移的であり、A は間接的に C に依存します。これは依存関係の推移性であり、A は最初の直接依存関係です。 B への依存関係、B は C に対する 2 番目の直接依存関係、C は A の推移的な依存関係です。

通常の開発では、プロジェクトが spring-core に依存し、依存関係スコープがコンパイルされ、spring-core が commons-logging に依存し、依存関係スコープもコンパイルされる場合、プロジェクトには commons-logging の推移性があります。依存関係の範囲はコンパイルです。最初の直接依存関係のスコープと 2 番目の直接依存関係のスコープによって、推移的な依存関係のスコープが決まります。次の表を使用して説明します。この表の左端の列は最初の直接依存関係、一番上の列は 2 番目の直接依存関係です。中央で交差しているのは推移的な依存関係スコープです。

コンパイル

テスト

提供

ランタイム

コンパイル

コンパイル

ランタイム

テスト

テスト

テスト

を提供

提供

提供

提供

Runtime

Runtime

Runtime

例: 最初の直接依存関係スコープは Test で、2 番目の直接依存関係スコープはCompile の場合、推移的な依存関係の範囲は Test となり、この表に基づいて判断できます。

テーブルを注意深く見ると、次のパターンが見つかります:

  • 2 番目の直接依存関係のスコープがコンパイルされるとき、推移的依存関係のスコープは最初の直接依存関係のスコープと一致します

  • 。 2 番目の直接依存関係のスコープがコンパイルされている場合、2 番目の直接依存関係のスコープが test である場合、依存関係は渡されません

  • 2 番目の直接依存関係のスコープが指定されている場合、そのスコープが指定されている依存関係のみが渡されます。最初の直接依存関係も渡され、推移的依存関係のスコープも提供されます

  • 2 番目の直接依存関係のスコープが実行時の場合、推移的依存関係のスコープは最初の直接依存関係のスコープと同じです。依存関係 (コンパイルを除く) 現時点では、推移的な依存関係の範囲は実行時です。

以上がMaven 依存関係図の例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。