cjjspcコマンドでは,Webアプリケーション単位またはJSPファイル単位でJSPファイルをコンパイルできます。
それぞれの場合のコンパイル方法について説明します。また,JSPファイルの格納先となるJSPファイルパスの指定方法と,コマンド実行時のバージョンチェックについて説明します。
cjjspcコマンドに-rootオプションを指定して実行することで,Webアプリケーションに含まれるすべてのJSPファイルを事前コンパイルできます。-rootオプションには,事前コンパイル対象のWebアプリケーションのルートを,カレントディレクトリからの相対パスまたは絶対パスで指定します。
Webアプリケーション単位で事前コンパイルする場合の指定形式を示します。
> cjjspc -root <Webアプリケーションのルートディレクトリ> |
Webアプリケーションのルートディレクトリが「D:¥app¥webapp1」の場合の,cjjspcコマンドの指定例(絶対パス)を示します。
> cjjspc -root d:¥app¥webapp1 |
オプションの指定によって,コンパイル対象外ファイルを指定できます。コンパイル対象外ファイルの指定方法については,「10.1.4 コンパイル不要なJSPファイルの指定」を参照してください。コンパイル対象外ファイルを指定した場合は,JSPコンパイル結果のバージョンチェックが行われます。
コンパイル対象外ファイルを指定しないでWebアプリケーション単位のJSP事前コンパイルを実行した場合,JSPコンパイル結果のバージョンチェックは行われません。Webアプリケーションに含まれるすべてのJSPファイルがコンパイルされます。
JSPコンパイル結果のバージョンチェックについては,「(4)(a) JSP事前コンパイル結果のバージョンチェック」を参照してください。
cjjspcコマンドに-rootオプションおよびJSPファイルパスを指定して実行することで,指定したJSPファイルをコンパイルできます。
JSPファイル単位で事前コンパイルする場合の指定形式を示します。
> cjjspc -root <Webアプリケーションのルートディレクトリ> <JSPファイルパス1> <JSPファイルパス2> ... |
JSPファイルパスの指定方法については,「(3) JSPファイルパスの指定方法」を参照してください。
Webアプリケーションのルートディレクトリが「D:¥app¥webapp1」,コンパイルするJSPファイルが「D:¥app¥webapp1¥jsp¥index.jsp」の場合の,cjjspcコマンドの指定例を示します。
> cjjspc -root d:¥app¥webapp1 /jsp/index.jsp |
複数のJSPファイルをコンパイルする場合は,スペースで区切って指定します。
> cjjspc -root d:¥app¥webapp1 /jsp/index.jsp /jsp/title.jsp |
JSPファイル単位のJSP事前コンパイルを実行した場合,JSPコンパイル結果のバージョンチェックが行われます。DDで指定されたWebアプリケーションのバージョンと,JSPコンパイル時のWebアプリケーションのバージョンが合致していなければ処理が中断されます。JSPコンパイル結果のバージョンチェックについては,「(4)(a) JSP事前コンパイル結果のバージョンチェック」を参照してください。
JSPファイルパスは,Webアプリケーションのルートディレクトリからの相対パスを指定します。パス区切り文字には「/」を使用し,パスの先頭には必ず「/」を付けます。例えば,Webアプリケーションのルートディレクトリ「D:¥app¥webapp1」に含まれるJSPファイル(D:¥app¥webapp1¥jsp¥index.jsp)を指定する場合,JSPファイルパスは「/jsp/index.jsp」となります。指定例を次に示します。
> cjjspc -root d:¥app¥webapp1 /jsp/index.jsp |
また,JSPファイルパスには,ワイルドカード文字(*)を使用できます。ワイルドカードを使用した場合の指定例を示します。
> cjjspc -root d:¥app¥webapp1 "/jsp/*.jsp" |
/aaa/bbb/* |
/aaa/bbb/*.jsp |
cjjspcコマンドを使用してJSP事前コンパイルを実行する場合の注意事項を示します。
JSPファイルから生成されるクラスファイルは,DDで指定されたWebアプリケーションのバージョンに依存します。したがって,Webアプリケーションと異なるバージョンのJSPファイルは,Webアプリケーションで使用できません。
cjjspcコマンドでは,コンパイル実行時に,WebアプリケーションとJSPファイルのバージョンが合致するかをチェックします。バージョンチェックは次の場合に実行されます。
WebアプリケーションとJSPファイルのバージョンが異なる場合は,cjjspcコマンドの処理が中断され,エラーが出力されます。エラーが出力された場合は,Webアプリケーション単位で,すべてのJSPファイルに対してコンパイルし直してください。
cjjspcコマンドを実行するときに,DTDまたはXMLスキーマに従っているかが検証されます。TLDファイルがスキーマに従っていない場合は,コンパイル時にエラーとなります。DDがスキーマに従っていない場合は,エラーとなり,コマンドが終了します。
cjjspcコマンドを使用して生成されたクラスファイルは,J2EEサーバでの実行時に使用されます。cjjspcコマンドでは,J2EEサーバで生成されたクラスファイルと同じクラスファイルを生成します。このため,JSPファイルまたはタグファイルから生成されたJavaソースをコンパイルするときのコンパイルオプションは,クラスパスおよびJava言語仕様のバージョン以外は指定できません。Java言語仕様のバージョンの指定方法については「10.1.7 JSPコンパイル時のJava言語仕様のバージョン指定」を参照してください。