は、誰もが公式Mavenのドキュメントの「スコープの行列」に関する以下の、かなり明白な、質問への答えを知っているんください再訪:Mavenの依存関係のスコープ -
脚注はなぜセル説明索引付けされた[compile、compile]には値 "compile"が再び含まれます。私の意見で
、全く同じ引数には、次のことを意味します
細胞[コンパイル、提供]および[提供、提供]「提供」が含まれている必要があります両方。
セル[test、provided]には "test"が含まれている必要があります。
なぜこれらのセルにはすべて " - "が含まれていますか? それは私には意味がありません...
すべての有益な提案を事前に感謝します!
おかげで、私は確信していないが、申し訳ありません: は、次のような状況を考えてみます。 1.「コンテナアーチファクト」B「はコンテナアーチファクト」に依存C を(スコープは、「提供」、なぜ... 。 2. "私の工芸品" Aは "コンテナ工芸品" B (もちろん提供されているスコープ...) 3. AはBのクラスYを拡張するクラスXを含んでいます。 4. Y拡張CのクラスZ 5.XがZで定義された保護されたメソッドZmを呼び出す コンパイラは、たとえば、Zmの署名をチェックするためにこのクラスZの定義を必要とします。 [提供された、提供された]セルの " - "のために、クラスZは手元になく、エラーが発生します。 – Observateur
私はこれを次のように見ています:Bは "ライブラリ"であり、依存関係として使用する必要があります。ライブラリは異なるコンテナ(またはコンテナなし)で使用できるため、依存関係を提供してはいけません。またはBは、戦争、耳、排除可能な瓶のような配備可能なユニットです。次に、必要な提供される依存関係を定義する必要がありますが、(アーティファクトAを含む)誰もそれを依存関係として使用するべきではありません。 –