18.1.1 ロード対象のクラスとロード時に必要なクラスパス
アノテーション情報は,次のような操作を実行したときに読み込まれます。
-
リソースの追加(cjaddapp)※
-
インポート時(cjimportapp)
-
インポート時(cjimportres)
-
インポート時(cjimportlibjar)※
-
開始時(cjstartapp)
-
リプレース時(cjreplaceapp)
-
リロード時(cjreloadapp)
- 注※
-
対象となるのはライブラリJARのクラスです。
アノテーション情報を読み込むためには,まずクラスをロードする必要があります。
J2EE1.4以前に準拠したJ2EEアプリケーションでアノテーション情報を読み込むためにロードするクラスを次の図に示します。
EJB-JAR(ejb-jar.xmlのバージョンが2.1)に含まれるクラスファイルまたはWAR(web.xmlのバージョンが2.4)に含まれるクラスファイルからアノテーション情報を読み込む場合のアノテーションは,アプリケーションサーバ独自の仕様です。また,アプリケーションサーバでは,アプリケーションサーバ独自の仕様によって,J2EE 1.4の場合でもejb-jar.xmlの省略とアノテーションの使用ができます。
なお,J2EE 1.4以前に準拠したJ2EEアプリケーションの場合,EJB-JAR(ejb-jar.xmlのバージョンが2.1,またはejb-jar.xmlが省略されたもの)やWAR(web.xmlのバージョンが2.4)からライブラリJARを使用することはできません。指定しても無視されます。
アノテーション情報を取得するためにクラスをロードするかどうかは,各モジュールのバージョン,およびJ2EEサーバで設定されているプロパティに依存します。
モジュールのバージョンがEJB-JAR(2.1)またはWAR(2.4)の場合のアノテーション情報を取得するかどうかの条件を次の表に示します。
モジュール |
J2EEサーバのプロパティ ejbserver.deploy.applications.metadata_complete |
||
---|---|---|---|
falseまたはプロパティを省略時 |
true |
||
EJB-JAR(2.1) |
○ |
− |
|
WAR(2.4) |
WEB-INF/classes以下 |
○ |
− |
WEB-INF/lib/JARファイル |
− |
− |