0

CDI アノテーション付き Bean を宣言する jar に関する問題があり、Spring コンテキストと EE6 コンテキストの両方で使用されます。

この jar には、たとえばservice.jar、修飾子で注釈が付けられたクラスが含まれており (では、Bean を識別するため@Qualifierなどに独自の注釈を宣言できます)、 で注釈が付けられたプライベート メンバーがあります。@DataAccessObject@Inject

これらのクラスは EE6 コンテキスト内にデプロイされた場合にのみ必要になるため、Maven でコンパイルされ、 への依存関係javax.javaee-apiが as として宣言されます。provided

とはいえ、わからないことがあります。このservice.jarでは、一度コンパイルすると、EE6 コンテキストでデプロイするかどうかに関係なく、バイトコードは などのクラスを参照しますjavax.inject.@Inject

では、クラスパスに jarがない私の spring アプリケーションがjavax.javaee-api、構成を正しくロードして実行できるのはなぜですか? @InjectSpring が(JSR 330) アノテーションをサポートしていることを知ったとき、私はさらに混乱しました。

誰かが私にそれを教えてもらえますか?

ありがとう。

4

1 に答える 1