16.2.2 アノテーションを宣言したライブラリJARのクラスの使用
ライブラリJARに含まれるクラスは,各コンポーネントから使用されます。ライブラリJARのクラスに記述できるのは,そのクラスを使用するコンポーネントでサポートされているアノテーションです。
ライブラリJARで指定できるアノテーションには,次の制限があります。
-
ライブラリJARでは,コンポーネントを宣言するアノテーションは指定できません。指定しても無視されます。
-
ライブラリJAR内のコンポーネントであるクラスに定義されたアノテーションは,サポート対象外とします。
-
次のEJB-JARやWARから参照された場合,ライブラリJARで宣言されているアノテーションは無視されます。
-
EJB 2.1以前のモジュールを含むEJB-JAR
-
Servlet 2.4以前のモジュールを含むWAR
-
-
J2EE 1.4のJ2EEアプリケーションに含まれるEJB 3.0(DDなし)から参照された場合,ライブラリJARで宣言されているアノテーションは無視されます。
ライブラリJAR内のアノテーションを記述したクラスの使用例を次の図に示します。
EJB 3.0以降またはServlet 2.5以降から参照した場合,ライブラリJARに含まれる「@Resource」や「@EJB」が有効になります。EJB 2.1以前またはServlet 2.4以前のコンポーネントから参照した場合,ライブラリJARに含まれる「@Resource」や「@EJB」は無視されます。ただし,参照元のJ2EEアプリケーションのバージョンは,Java EE 5以降であることが前提です。