Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)
(1) コマンドの概要
ここでは,JSP事前コンパイルを実施するための前提条件と,JSP事前コンパイル実行時に必要なファイル,および実行後に生成されるファイルについて説明します。
- 前提条件
- JSP事前コンパイルを実施するためには,コンパイルするJSPファイルがWebアプリケーションのルートディレクトリ以下,またはそのサブディレクトリ以下に格納されていることが前提です。
- JSP事前コンパイルに必要なファイル
- JSP事前コンパイルを実施するためには,次に示すファイルが必要です。
- JSPファイル(JSP 1.1,JSP 1.2,JSP 2.0,またはJSP 2.1)※1
- JSP 2.0仕様またはJSP 2.1仕様に準拠したタグファイル
- JSPファイルおよびタグファイルから静的にインクルードされるファイル
- TLDファイル※2
- web.xml※2,※3
- コンパイルに必要なクラスライブラリ
- 注※1
- JSPファイルとは,次に示すファイルを指します。
- 拡張子が.jspまたは.jspxであるファイル(.jspxはJSP 2.0以降の場合だけ)
- web.xmlの<jsp-file>タグに指定されたファイル
- web.xmlの<jsp-property-group><url-pattern>タグに合致するファイル(JSP 2.0以降の場合だけ)
- 注※2
- JSP事前コンパイル実行時にDTDまたはXMLスキーマに従っているかどうかが検証されます。
- 注※3
- web.xmlがない場合,Webアプリケーションのバージョンを3.0と見なしてコンパイルが実行されます。
- JSP事前コンパイル後に生成されるファイル(JSPコンパイル結果)
- JSPファイルやタグファイルから生成された,JavaソースファイルおよびクラスファイルをJSPコンパイル結果といいます。JSP事前コンパイルを実施すると,JSPワークディレクトリに次に示すJSPコンパイル結果が生成されます。
- JSPファイルから生成されたJavaソースファイルおよびクラスファイル
- タグファイルから生成されたJavaソースファイルおよびクラスファイル
- なお,JSP事前コンパイル実行時には,Javaソースファイルを保存しておくかどうかを設定できます。
cjjspcコマンドは,JSP事前コンパイルを実施するためのコマンドです。アプリケーションの開発時などにこのコマンドを実施すると,Webアプリケーションに含まれるJSPファイルをコンパイルできます。cjjspcコマンドによるJSP事前コンパイルには,次の二つの方法があります。
- JSPファイル単位での事前コンパイル
Webアプリケーションに含まれるJSPファイルのうち,指定されたJSPファイルだけをコンパイルします。
- Webアプリケーション単位での事前コンパイル
Webアプリケーションに含まれるすべてのJSPファイルをコンパイルします。
また,このコマンド実行時に次の内容を設定できます。
- コンパイル不要なJSPファイルの指定
コンパイル不要なJSPファイルがある場合,あらかじめ不要なファイルを指定しておくことで,事前コンパイルの対象外にできます。指定方法には,コンパイル不要なJSPファイル名をコマンドに一つずつ指定する方法と,コンパイル不要なJSPファイル名をファイルにまとめて記載したファイル(コンパイル対象外リストファイル)をコマンドに指定する方法があります。
- 実行結果リストファイルを出力するかどうかの指定
実行結果リストファイルを出力するかどうかを指定できます。実行結果リストファイルとは,cjjspcコマンドの実行結果を出力したファイルです。コンパイルに成功したJSPファイル,コンパイルに失敗したJSPファイル,およびコンパイル対象外のJSPファイルのパスを一覧で出力します。
- Javaソースファイルを保存するかどうかの指定
JSPから生成されたJavaソースファイルを保存しておくかどうかを指定できます。
- JSPコンパイル時のJava言語仕様のバージョンの指定
JSPトランスレーションによって生成されたJavaソースファイルをコンパイルするときのJava言語仕様のバージョンを指定できます。
- JSPワークディレクトリ名を変更するかどうかの指定
JSPワークディレクトリとは,JSPコンパイル結果を格納するディレクトリのことです。JSPワークディレクトリ名は変更できます。なお,JSPワークディレクトリについては,「2.5.5(2) JSPコンパイル結果の出力先」を参照してください。
- デフォルトの文字エンコーディングの指定
JSPファイルのデフォルトの文字エンコーディングを指定できます。なお,デフォルトの文字エンコーディングの概要については,「2.6 デフォルトの文字エンコーディング設定機能」を参照してください。また,07-00でJSP事前コンパイル機能を使用していたWebアプリケーションに対して,07-10でデフォルトの文字エンコーディングを設定する場合の注意については,「2.6.8(5) 07-00でJSP事前コンパイルを実行したWebアプリケーションへの文字エンコーディング設定」を参照してください。
- JSPデバッグ機能を使用するかどうかの指定
JSPデバッグ機能を使用するかどうかを指定できます。JSPデバッグ機能については「2.4 JSPデバッグ機能」を参照してください。
- 暗黙インポートするクラスの指定
page/tagディレクティブのimport属性暗黙インポート機能を使用して暗黙インポートするクラス名を指定できます。page/tagディレクティブのimport属性暗黙インポート機能については「2.3.7 page/tagディレクティブのimport属性暗黙インポート」を参照してください。
なお,これらの設定は,コマンドのオプションで指定します。JSPの事前コンパイルのコマンド(cjjspcコマンド)の使い方については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjjspc(JSPの事前コンパイル)」を参照してください。
- 注意
- JavaVM起動オプションの変更
- 環境変数「CJ_CMD_JVM_ARGS」を設定すると,cjjspcコマンドが動作するJavaVMの起動オプションを変更できます。
- デフォルトではJavaVMの起動オプションに「-Xmx512m」(Javaヒープメモリ領域の最大値が512MB)が設定されています。cjjspcコマンドで大規模なWebアプリケーションをコンパイルする場合,Javaヒープメモリ領域の最大値を超え,java.lang.OutOfMemoryErrorが発生するおそれがあります。したがって,大規模なWebアプリケーションをコンパイルする場合は,あらかじめ環境変数「CJ_CMD_JVM_ARGS」に,適切なJavaヒープメモリ領域を指定する必要があります。
- 参考
- cjjspcコマンドを使用したJSP事前コンパイルで,JSPファイルまたはタグファイルのトランスレーション時にエラーが発生すると,エラーメッセージが出力されます。エラーメッセージはコンソールに出力されます。
- コマンド実行時に標準出力または標準エラー出力にログを出力します。ログ出力の結果をファイルに残す場合は,コマンドの出力をファイルにリダイレクトしてください。
ログ出力の結果をファイルに残す場合の指定例を示します。
Windowsの場合の指定例
> cjjspc -root D:\app\webapp1 1> .\stdout.log 2> .\stderr.log
|
UNIXの場合の指定例
# cjjspc -root /app/webapp1 1> ./stdout.log 2> ./stderr.log
|
-
cjstartappコマンドは,J2EEアプリケーションを開始するためのコマンドです。cjstartappコマンドに,JSP事前コンパイルをするオプションを指定すると,JSPの事前コンパイルを実施してから,J2EEアプリケーションが開始されます。J2EEアプリケーション開始時のJSP事前コンパイルでは,J2EEアプリケーションに含まれるすべてのJSPファイルをコンパイルします。
このコマンドの実行時の動作はあらかじめ設定できます。設定できる内容を次に示します。
- Javaソースファイルを保存するかどうかの指定
JSPファイルから生成されたJavaソースファイルを保存しておくかどうかを指定できます。
- JSPコンパイル時のJava言語仕様のバージョンの指定
JSPトランスレーションによって生成されたJavaソースファイルをコンパイルするときのJava言語仕様のバージョンを指定できます。
- JSPワークディレクトリ名を変更するかどうかの指定
JSPワークディレクトリとは,JSPコンパイル結果を格納するディレクトリのことです。JSPワークディレクトリ名は変更できます。なお,JSPワークディレクトリについては,「2.5.5(2) JSPコンパイル結果の出力先」を参照してください。
- 暗黙インポートするクラスの指定
page/tagディレクティブのimport属性暗黙インポート機能を使用して暗黙インポートするクラス名を指定できます。page/tagディレクティブのimport属性暗黙インポート機能については「2.3.7 page/tagディレクティブのimport属性暗黙インポート」を参照してください。
なお,これらの設定は,J2EEサーバの動作設定のカスタマイズで実施します。J2EEサーバの動作設定のカスタマイズについては,「2.5.8 実行環境での設定(J2EEサーバの設定)」を参照してください。
- 参考
- cjstartappコマンドを使用したJSP事前コンパイルで,JSPファイルまたはタグファイルのトランスレーション時にエラーが発生すると,エラーメッセージが出力されます。エラーメッセージはWebサーブレットログ,またはメッセージログに出力されます。
- 注意
- JSPから生成されるJavaソースのコンパイルについて
- cjjspcコマンドを使用して生成されたクラスファイルは,J2EEサーバでの実行時に使用されます。cjjspcコマンドでは,J2EEサーバで生成されたクラスファイルと同じクラスファイルを生成します。
- このため,JSPファイルまたはタグファイルから生成されたJavaソースをコンパイルする場合,-sourceオプションでのJava言語仕様のバージョンの指定,または-classpathオプションでのクラスパスの指定以外はできません。Java言語仕様のバージョンの指定方法についてはマニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjjspc(JSPの事前コンパイル)」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.