Maven でのクラスローディングの順序について質問があります。
Mavenバージョン2.0.9以降、クラスローディングは決定論的であり、pomの順序を使用しています。推移的な依存関係については明確ではありません。maven はすべての最上位の依存関係を最初にロードし、次に推移的な依存関係をロードしますか。または、最上位の依存関係をすべて推移的な依存関係と共にロードしてから、次の最上位の依存関係をロードします。
完全に正しいMavenセットアップでは順序に問題がないことはわかっていますが、依存関係に重複したクラスがいくつかあり、どのクラスが使用されているかを知りたいです。すべてのクラスが両方の jar でカバーされているわけではないため、推移的な依存関係を除外することはできません。
例: 私のプロジェクトには 3 つの依存関係 A、B、C があります。A には C への推移的な依存関係があります。依存関係をロードする Maven の順序はどれですか?
POM:
- あ
- C
- B
- C
ケース A:
A --> B --> C
ケース B: A --> (推移的な依存関係) C --> B --> C
ありがとうございました