JSPBatchCompiler コマンド
バッチ・コンパイラーは JavaServer Pages の構文を検証し、 JSP ページを Java™ ソース・ファイルに変換して、 Java ソース・ファイルを Java サーブレット・クラス・ファイルにコンパイルします。 バッチ・コンパイラーはまた、タグ・ファイルを検証し、Java 実装クラスを生成します。この機能を使用して JSP ファイルをバッチ・コンパイルし、実動 Web サーバー上の JSP ファイルへの初期クライアント要求に速く応答できるようにします。
バッチ・コンパイラーは、圧縮または解凍されたエンタープライズ・アーカイブ (EAR) ファイルおよび Web アプリケーション・アーカイブ (WAR) ファイルに対して、および、WebSphere® Application Server にデプロイされたエンタープライズ・アプリケーションおよび Web モジュールに対して実行することができます。デプロイされたエンタープライズ・アプリケーションがターゲットである場合、 サーバーはバッチ・コンパイラーを実行するために稼働する必要はありません。 ターゲット・サーバーの稼働中にバッチ・コンパイラーが実行されると、エンタープライズ・アプリケーションが再始動しない限り、サーバーは更新済みクラス・ファイルを認識せず、クラス・ファイルをロードしません。ターゲットが圧縮された EAR ファイルまたは WAR ファイルである場合、 バッチ・コンパイラーは実行前にそれを解凍する必要があります。
Web モジュールの処理
バッチ・コンパイラーは、1 つの Web モジュールで同時に作動します。ターゲットが、複数の Web モジュールを含む EAR ファイル、またはインストール済みエンタープライズ・アプリケーションのいずれかである場合、バッチ・コンパイラーは各 Web モジュールで個別に作動します。これは、JSP ページが Web モジュール・ベースで構成されているため、Web モジュールの web.xml デプロイメント記述子ファイルを介して行われます。Web モジュール内では、バッチ・コンパイラーは一度に 1 つのディレクトリーを処理します。その結果、各 JSP ページを個別に検証および変換し、 そのディレクトリー内の生成された Java ソース・ファイル・グループ全体の Java コンパイラーを呼び出します。 Java コンパイル・フェーズで 1 つの JSP ページが失敗すると、Java コンパイラーは、 そのディレクトリーで正常にコンパイルされた JSP ページの大部分またはすべてのクラス・ファイルを作成しない場合があります。
JSP ファイル拡張子
- 標準 JSP ファイル拡張子
- .jsp
- .jspx
- .jsw
- .jsv
- サーブレット 2.4 Web モジュールのデプロイメント記述子ファイルにある jsp-property-group エレメントの url-pattern プロパティー
- jsp.file.extensions JSP エンジン構成パラメーター (サーブレット 2.4 以前の Web モジュール)
- バッチ・コンパイラー構成パラメーター jsp.file.extensions
バッチ・コンパイラーでは、標準の拡張子が常時使用されます。 Web モジュールがサーブレット 2.4 デプロイメント記述子を含む場合、バッチ・コンパイラーは jsp-config エレメント内にある url-pattern も処理します。バッチ・コンパイラー・ターゲットに JSP エンジン構成パラメーター jsp.file.extensions が含まれている場合、 これらの拡張子も処理されます。 バッチ・コンパイラー構成パラメーター jsp.file.extensions がある場合、指定された拡張子も処理され、JSP エンジン構成パラメーター jsp.file.extensions をオーバーライドします。
JSP「フラグメント」に バッチ・コンパイラーによって処理されていない拡張子を指定することをお勧めします。 スタンドアロンではない、静的に組み込まれているフラグメントは、処理されると変換エラーやコンパイル・エラーを生成します。 JSP 2.0 仕様では、このようなファイルには拡張子 .jspf を使用するように提案しています。
バッチ・コンパイラー・コマンド
コマンド行から
バッチ・コンパイラーを実行するための Windows バッチ・ファイル JspBatchCompiler.bat と UNIX シェル・スクリプト JspBatchCompiler.sh は、
どちらも {WAS_ROOT}/bin ディレクトリーにあります。
Ant を使用したバッチ・コンパイラーを実行するために、Ant タスクも使用することができます。
追加情報については、『バッチ・コンパイラー Ant タスク』トピックを参照してください。
Qshell コマンド行からバッチ・コンパイラーを実行するための JspBatchCompiler スクリプトは、
app_server_root/bin ディレクトリーにあります。
Ant を使用したバッチ・コンパイラーを実行するために、Ant タスクも使用することができます。
追加情報については、『バッチ・コンパイラー Ant タスク』トピックを参照してください。
JspBatchCompiler -ear.path | -war.path | -enterpriseapp.name <name>
[-response.file <filename>]
[-webmodule.name <name>]
[-filename <jsp name | directory name>
[-recurse <true | false>]
[-config.root <path>]
[-cell.name <name>]
[-cluster.name <name>] [-node.name <name>]
[-server.name <name>]
[-profileName <name>]
[-extractToDir <path>]
[-compileToDir <path>]
[-compileToWebInf <true | false>]
[-compileToWebInf <true | false>]
[-compileAfterFailure <true | false>]
[-translate <true | false>]
[-compile <true | false>]
[-removeTempDir <true | false>]
[-forceCompilation <true | false>]
[-useFullPackageNames <true | false>]
[-trackDependencies <true | false>]
[-createDebugClassfiles <true | false>]
[-keepgenerated <true | false>]
[-keepGeneratedclassfiles <true | false>]
[-usePageTagPool <true | false>]
[-useThreadTagPool <true | false>]
[-classloader.parentFirst <true | false>]
[-classloader.singleWarClassloader <true | false>]
[-additional.classpath <classpath to additional JAR files and classes>]
[-verbose <true | false>]
[-deprecation <true | false>]
[-javaEncoding <encoding>
[-jdkSourceLevel <13 | 14 | 15 | 16 | 17 | 18 >]
[-compilerOptions <space-separated list of java compiler options>]
[-useJikes <true | false>]
[-jsp.file.extensions <file extensions to process>]
[-log.level <SEVERE | WARNING | INFO | CONFIG | FINE | FINER | FINEST | OFF>]
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
*** 詳しくは、WAS_ROOT/bin の batchcompiler.properties.default を参照してください。***
*** 公開された WebSphere Ant タスク JspC については、WAS_ROOT/bin の JspCBuild.xml を参照してください。***
![[IBM i]](../images/iseries.gif)
*** 詳しくは、app_server_root/bin の batchcompiler.properties.default を参照してください。***
*** 公開された WebSphere Ant タスク JspC については、app_server_root/bin の
JspCBuild.xml を参照してください。***
- Web モジュール用の JSP エンジン構成パラメーター。
『JSP エンジン構成パラメーター』トピックを参照してください。
- バッチ・コンパイラー応答ファイルの構成パラメーター。
これらのパラメーターは、 バッチ・コンパイラー応答ファイル内にあります。-response.file を参照してください。
- バッチ・コンパイラーのコマンド行構成パラメーター。
これらのパラメーターは、 バッチ・コンパイラーの実行時にコマンド行から入力されます。
- パラメーターがコマンド行で見つかった場合は、その値が使用されます。
- パラメーターがコマンド行に見つからない場合、バッチ・コンパイラーは、 コマンド行で指定された応答ファイルでパラメーターを探します。
- 応答ファイルが指定されていない場合、あるいは応答ファイル内にパラメーターが見つからない場合は、バッチ・コンパイラーは、Web モジュールの JSP エンジン構成パラメーターでパラメーターを探します。
上記 3 つのグループ内に構成パラメーターが見つからない場合は、 デフォルト値が使用されます。構成パラメーターのデフォルト値を、 そのパラメーターの説明とともに示します。
これらのパラメーターには大/小文字の区別がありませんが、-profileName だけは例外で、大/小文字の区別があります。これらの引数に指定された値がスペースで区切られた複数の語で構成されている場合には、 その値を引用符で囲む必要があります。
バッチ・コンパイラーは、 同等の JSP エンジン・パラメーターを作成することはなく、その値の設定も行いません。 つまり、デプロイ済み Web モジュール内の JSP ページを、 実行時に JSP エンジンで変更および再コンパイルする場合は、JSP エンジンの構成パラメーターによってそのエンジンの振る舞いが決まります。 例えば、バッチ・コンパイラーを使用して Web モジュールをコンパイルし、-useFullPackageNames true オプションを指定する場合、JSP ファイルはそのオプションをサポートするようにコンパイルされます。しかし、 JSP ランタイムがコンパイル済み JSP ページをロードできるようにするためには、 JSP エンジン・パラメーター useFullPackageNames も true に設定する必要があります。 デプロイ済み Web モジュールで JSP ページを変更した場合、このエンジンのパラメーターは、バッチ・コンパイルで使用したのと同じ値に設定しなければなりません。
JSP バッチ・コンパイラーを使用するには、 オペレーティング・システムのコマンド・プロンプトで、次のコマンドのいずれかを 1 行で 入力します。
- ear.path | war.path | enterpriseapp.name 単一の、圧縮または解凍されたエンタープライズ・アプリケーション・アーカイブ (EAR) ファイルまたは Web アプリケーション・アーカイブ (WAR) ファイルへの絶対パス、あるいはコンパイルするデプロイ済みエンタープライズ・アプリケーションの名前を表します。以下に例を示します。
JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear
JspBatchCompiler -ear.path /myhfs/myprojects/sampleApp.ear
JspBatchCompiler -war.path c:¥myWars¥examples.war
JspBatchCompiler -enterpriseapp.name myEnterpriseApp -webmodule.name my.war -filename aDir/main.jsp
JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear
JspBatchCompiler -war.path /home/wasuser/wars/examples.war
JspBatchCompiler -enterpriseapp.name myEnterpriseApp -webmodule.name my.war -filename mydirectory/main.jsp
- response.file
バッチ・コンパイラーが使用する構成パラメーターを含むファイルに対するパスを指定します。 response.file は、 コマンド行で指定される場合のみ使用され、応答ファイルにある場合は無視されます。
デフォルト・インストールでは、 テンプレート応答ファイル batchcompiler.properties.default は {WAS_ROOT}/bin ディレクトリーにあります。 このテンプレートをコピーして、 当該パラメーターのデフォルトを含む独自の応答ファイルを作成します。 すべての必須およびオプションのパラメーター (response.file を除く) は、 応答ファイル内で構成できます。例: JspBatchCompiler -response.file c:¥myproject¥batchc.props
テンプレート応答ファイル batchcompiler.properties.default は、 app_server_root/properties ディレクトリーにあります。 このテンプレートをコピーして、 当該パラメーターのデフォルトを含む独自の応答ファイルを作成します。 すべての必須パラメーターおよびオプション・パラメーター (response.file を除く) は、応答ファイル内で構成できます。例: JspBatchCompiler -response.file /home/wasuser/myproject/batchc.props
デフォルト: null
- webmodule.name
バッチ・コンパイルする特定の Web モジュールの名前を表します。この引数が設定されていないと、エンタープライズ・アプリケーション内のすべての Web モジュールがコンパイルされます。このパラメーターは、 ear.path または enterpriseapp.name が指定されている場合にのみ使用されます。デプロイ済みエンタープライズ・アプリケーション内にある特定の Web モジュールの JSP ページを再生成する必要がある場合には、このパラメーターが役に立ちます。共有ライブラリーのすべての依存関係がピックアップされるためです。
例: JspBatchCompiler -enterpriseApp.name sampleApp -webmodule.name myWebModule.war
デフォルト: このパラメーターが指定されていない場合、EAR ファイルまたはエンタープライズ・アプリケーション内の Web モジュールはすべてコンパイルされます。
- filename
コンパイルしたい単一の JSP ファイルの名前を表します。 この引数が設定されていないと、Web モジュール内のすべてのファイルがコンパイルされます。あるいは、filename がディレクトリーの名前に設定されていると、 そのディレクトリーおよびそのディレクトリーの子ディレクトリー内の JSP ファイルのみがコンパイルされます。この名前は、Web モジュールのコンテキスト・ルートを基準とした相対パスです。
例 1: ファイル myTest.jsp をコンパイルする場合、そのファイルが /subdir/myJSPs にあるとすれば、-filename /subdir/myJSPs/myTest.jsp と入力します。
例 2: /subdir/myJSPs とその子ディレクトリー内のすべての JSP ファイルをコンパイルする場合は、-filename subdir/myJSPs と入力します。
デフォルト: Web モジュール内のすべての JSP ファイルがコンパイルされます。 -filename / と入力すると、デフォルトと同じになります。
- recurse
ターゲット・ディレクトリーの下のサブディレクトリーを処理するかどうかを指定します。 このパラメーターは、filename パラメーターが指定されている場合にのみ使用されます。 値を false に設定すると、 filename パラメーターという名のディレクトリーだけを処理します (サブディレクトリーは処理しません)。
例: JspBatchCompiler -enterpriseApp.name sampleApp -filename /subdir1 -recurse false
デフォルト: true。ターゲット・ディレクトリーの下のすべてのディレクトリーが処理されます。
- config.root
WebSphere Application Server 構成ディレクトリーのロケーションを指定します。このパラメーターは、enterpriseapp.name が指定されている場合にのみ使用されます。
デフォルト: {WAS_ROOT}/profiles/profilename/config
デフォルト: profile_root/config
- cell.name
アプリケーションがデプロイされているセルの名前を指定します。 このパラメーターは、enterpriseapp.name が指定されている場合にのみ使用されます。
デフォルト: デフォルトは、使用されているプロファイル・スクリプトから取得されます。この変数のシンボル名は WAS_CELL です。
- cluster.name
アプリケーションがデプロイされているクラスターの名前を指定します。 このパラメーターは、バッチ・コンパイラーがクラスター・スコープの共有ライブラリーにアクセスできるようにし、enterpriseapp.name が指定されている場合にのみ使用されます。
デフォルト: デフォルトは、使用されているプロファイル・スクリプトから取得されます。この変数のシンボル名は WAS_CLUSTER です。
- node.name
アプリケーションがデプロイされているノードの名前を指定します。 このパラメーターは、enterpriseapp.name が指定されている場合にのみ使用されます。
デフォルト: デフォルトは、使用されているプロファイル・スクリプトから取得されます。この変数のシンボル名は WAS_NODE です。
- server.name
アプリケーションがデプロイされているサーバーの名前を表します。 このパラメーターは、enterpriseapp.name が指定されている場合にのみ使用されます。
デフォルト: server1
- profileName
使用するプロファイルの名前を指定します。 このパラメーターは、enterpriseapp.name または -ear が指定されている場合にのみ使用されます。
例: JspBatchCompiler -enterpriseApp.name sampleApp -profileName AppServer-3
デフォルト: デフォルト・プロファイルが使用されます。これは、install_root/bin ディレクトリーのファイル setupCmdLine スクリプトから取得されます。シンボル名は DEFAULT_PROFILE_SCRIPT です。
デフォルト: デフォルト・プロファイルが使用されます。これは、 app_server_root/bin ディレクトリーの setupCmdLine スクリプトから取得されます。 シンボル名は DEFAULT_PROFILE_SCRIPT です。
- extractToDir
バッチ・コンパイラーが作動する前に、事前デプロイされたエンタープライズ・アーカイブ (EAR) ファイルおよび Web アプリケーション・アーカイブ (WAR) ファイルを抽出する保存先ディレクトリーを指定します。このパラメーターは、enterpriseapp.name が指定されている場合には無視されます。 extractToDir パラメーターは、表に示すように使用されます。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -extractToDir c:¥myTempDir
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -extractToDir /home/wasuser/mytempdir.
ユース・ケース: バッチ・コンパイルを行う前に、圧縮アーカイブを解凍する必要があります。解凍したアーカイブは、新規のディレクトリーに入れることもできます。 どちらの場合も、解凍しても元のアーカイブはそのまま残るので、 開発中の場合は都合がよいと言えます。
表 1. extractToDir . デフォルト値 解凍したアーカイブ 圧縮アーカイブ extractToDir を指定 バッチ・コンパイラーは、 アーカイブを extractToDir に解凍し、そこで作業します。アーカイブと同じ名前のファイルまたはディレクトリーが extractToDir に既に存在する場合、バッチ・コンパイラーは、そのアーカイブを完全に除去してから新しいアーカイブを解凍します。 エラーが発生することなく処理が終了すれば、バッチ・コンパイラーは、 元の EAR ファイルまたは WAR ファイルが解凍された場合でも、 そのアーカイブを extractToDir の適当な場所に圧縮します。コンパイル中にエラーが発生した場合は、 元の EAR ファイルまたは WAR ファイルが圧縮されていたとしても、その EAR ファイルまたは WAR ファイルは、 解凍された状態で残されます。 extractToDir は未指定 バッチ・コンパイラーは、 EAR ファイルまたは WAR ファイルをそのまま操作する (別のディレクトリーに解凍しない) ため、 アーカイブはバッチ・コンパイラーの終了後も解凍されたままになります。 バッチ・コンパイラーは、JVM プロパティー「java.io.tmpdir」が戻すディレクトリーにアーカイブを解凍します。このケースでは、これ以降の動作は、extractToDir を指定する場合と同じです。 デフォルトは server1 です。
- compileToDir
JSP ページを Java ソース・ファイルに変換してクラス・ファイルにコンパイルするディレクトリーを指定します。このディレクトリーはファイル・システムのどの場所にあってもかまいませんが、 通常は、バッチ・コンパイラーのデフォルトの振る舞いが適切です。クラス・ファイルをコンパイルする際のバッチ・コンパイラーの振る舞いは、 表で説明しています。
例: JspBatchCompiler -enterpriseApp.name sampleApp -compileToDir c:¥myTargetDir
例: JspBatchCompiler -enterpriseApp.name sampleApp -compileToDir /home/wasuser/myTargetDir
ユース・ケース: このパラメーターで、Java ファイルおよびクラス・ファイルをターゲットの外側のディレクトリーに生成することができます。これは、新規生成のファイルを、ターゲット内に変更されずに残っている以前のバージョンと比較する場合に役に立ちます。
表 2. compileToDir . デフォルト値 ear.path または war.path が指定されます 指定する enterpriseApp.name compileToDir は未指定。compileToWebInf は未指定または true。 クラス・ファイルは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルされます。 クラス・ファイルは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルされます。 compileToDir は未指定。compileToWebInf は false クラス・ファイルは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルされます。 クラス・ファイルは、製品の一時ディレクトリー (通常は {WAS_ROOT}/temp) にコンパイルされます。 compileToDir を指定。compileToWebInf は未指定、あるいは true または false。 クラス・ファイルは、compileToDir で指定したディレクトリーにコンパイルされます。 クラス・ファイルは、compileToDir で指定したディレクトリーにコンパイルされます。 表 3. compileToDir . デフォルト値 ear.path または war.path が指定されます 指定する enterpriseApp.name compileToDir は未指定。compileToWebInf は未指定または true。 クラス・ファイルは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルされます。 クラス・ファイルは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルされます。 compileToDir は未指定。compileToWebInf は false クラス・ファイルは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルされます。 クラス・ファイルは、製品の一時ディレクトリー (通常は profile_root/temp) にコンパイルされます。 compileToDir を指定。compileToWebInf は未指定、あるいは true または false。 クラス・ファイルは、compileToDir で指定したディレクトリーにコンパイルされます。 クラス・ファイルは、compileToDir で指定したディレクトリーにコンパイルされます。 - compileToWebInf
コンパイルされた JSP クラス・ファイルのターゲット・ディレクトリーを、Web モジュールの WEB-INF/classes ディレクトリーにするかどうかを指定します。このパラメーターは、enterpriseApp.name が指定されている場合にのみ使用され、 compileToDir が指定されている場合には、 compileToDir によってオーバーライドされます。
バッチ・コンパイラーのデフォルトの振る舞いは、Web モジュールの WEB-INF/classes ディレクトリーにコンパイルすることです。 クラス・ファイルをコンパイルする際のバッチ・コンパイラーの振る舞いは、表で説明しています。
例: JspBatchCompiler -enterpriseApp.name sampleApp -compileToWebInf false.
ユース・ケース: enterpriseApp.name が指定され、クラス・ファイルを Web モジュールの WEB-INF/classes ディレクトリーではなく WebSphere Application Server の temp ディレクトリーにコンパイルする場合は、このパラメーターを false に設定します。推奨: このパラメーターを false に設定する場合、 WEB-INF/classes ディレクトリーに JSP クラス・ファイルがあれば、forceCompilation を true に設定してください。
デフォルト: true。表を参照。
- compileAfterFailure
現行ディレクトリーにある 1 つ以上の JavaServer Pages (JSP) ファイルがコンパイルできない場合に、JDK JSP バッチ・コンパイラーがそのディレクトリー内の別の JavaServer Pages (JSP) ファイルを引き続きコンパイルするかどうかを指定します。通常、ファイルのうちの 1 つがコンパイルできない場合、JSP バッチ・コンパイラーは、そのディレクトリー内に残っている JSP をすべてスキップし、次のディレクトリーにあるファイルのコンパイルを開始します。
このパラメーターを true に設定する場合は、useJDKCompiler パラメーターを指定して、そのパラメーターを true に設定する必要もあります。
例: JspBatchCompiler -enterpriseApp.name sampleApp -useJDKCompiler true -compileAfterFailure false
ユース・ケース: 現行ディレクトリー内の 1 つ以上の JavaServer Pages (JSP) ファイルがコンパイルできないときに、JSP バッチ・コンパイラーが、そのディレクトリー内の他の JSP ファイルをコンパイルする場合は、このパラメーターを true に設定します。
デフォルト: false
- forceCompilation
JSP ページが古くなったかどうかにかかわらず、 すべての JSP リソースを再コンパイルするようにバッチ・コンパイラーに強制するかどうかを指定します。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -forceCompilation true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -forceCompilation true
ユース・ケース: デプロイメント用アーカイブを作成する際、すべての JSP クラスが最新であるかどうかを確認する場合に特に役に立ちます。
デフォルト: false
- useFullPackageNames
バッチ・コンパイラーが JSP クラスの完全パッケージ名を生成するかどうかを指定します。 デフォルトでは、同じパッケージにあるすべての JSP クラスが生成されます。 JSP エンジンのクラス・ローダーは、すべて同じパッケージにあるとき、 JSP クラスをどのようにロードするかを把握しています。 デフォルトには、より小さいファイル・システム・パスを生成するという利点があります。 完全パッケージ名には、jsp-file 属性を使用することなく、プリコンパイルした JSP クラス・ファイルの構成を web.xml ファイルのサーブレットとして使用可能にすることによって、単一クラス・ローダー (Web アプリケーションのクラス・ローダー) がすべてのこのような JSP クラスをロードするのに使用されるようになるという利点があります。同様に、JSP エンジンの構成属性 useFullPackageNames および disableJspRuntimeCompilation が両方とも true の場合、 JSP ページが web.xml ファイルでサーブレットとして構成されていなくても、 単一のクラス・ローダーを使用してすべての JSP クラスをロードします。
useFullPackageNames が true に設定されている場合、バッチ・コンパイラーは Web モジュールの WEB-INF ディレクトリーに generated_web.xml という名のファイルを生成します。このファイルには、正常に変換され、コンパイルされる各 JSP ページのサーブレット構成情報が含まれます。 情報は、オプションで Web モジュールの web.xml ファイルにコピーすることができ、JSP ページは Web コンテナーによってサーブレットとしてロードされます。この方法で JSP ページがサーブレットとして構成されると、 JSP ページが変更されても、実行時に JSP ページが再ロードされることはありません。 これは、JSP ページが通常のサーブレットとして扱われ、それに対する要求が JSP エンジンを介して渡されないためです。
例: JspBatchCompiler –enterpriseApp.name sampleApp -useFullPackageNames true
ユース・ケース: 単一のクラス・ローダーによってロードされる JSP クラスを使用可能にします。
デフォルト: false
- removeTempDir
Web モジュールの一時ディレクトリーを除去するかどうかを指定します。バッチ・コンパイラーはデフォルトでは、JSP クラス・ファイルを Web モジュールの WEB-INF/classes ディレクトリー内に生成します。JSP ページが変更され、 JSP 再ロードが使用可能になっている場合、JSP クラス・ファイルは、実行時に temp ディレクトリー内に生成されます。 すべての JSP ページを Web モジュール内にバッチ・コンパイルし、さらに temp ディレクトリーを除去することによって、ディスク・リソースは保存されます。removeTempDir パラメーターは、-enterpriseApp.name が指定されている場合にのみ使用できます。
例: JspBatchCompiler -enterpriseApp.name sampleApp -removeTempDir true
ユース・ケース: Web アプリケーションの temp ディレクトリーを消去することによって、ディスク・スペースを解放します。
デフォルト: false
- translate
JSP ページを変換してコンパイルするかどうかを指定します。 JSP ページの変換およびコンパイルを行わない場合は、translate を false に設定してください。 temp ディレクトリーのみを除去してそれ以上の処理を行わないようにバッチ・コンパイラーに指示するには、このオプションを -removeTempDir と一緒に使用する必要があります。
例: JspBatchCompiler -enterpriseApp.name sampleApp -translate false -removeTempDir true
ユース・ケース: Web アプリケーションの temp ディレクトリーを消去することによって、ディスク・スペースを解放します。JSP 処理は起動しません。
デフォルト: true
- compile
JSP ページが Java コンパイル・フェーズを経由するかどうかを指定します。 JSP ページに Java コンパイル・フェーズを経由させない場合は、compile を false に設定してください。
例: JspBatchCompiler -enterpriseApp.name sampleApp -compile false
ユース・ケース: JSP ページの構文検査のみを行いたい場合は、-compile を false に設定します。 -keepgenerated を true に設定すると、 変換フェーズ中に生成される .java ファイルを確認できます。
デフォルト: true
- trackDependencies 依存関係のいずれかが変更された場合、 たとえ JSP ページ自体は変更されなかった場合でも、 バッチ・コンパイラーに JSP ページを再コンパイルさせるかどうかを指定します。 依存関係のトラッキングは、ランタイム・パフォーマンスに大きな負荷を招きます。 これは、JSP ページに要求があるたびに、JSP エンジンがファイル・システムを検査して、 依存関係のいずれかに変更があったかどうかを確認するためです。 WebSphere Application Server によってトラッキングされる依存関係は、以下のとおりです。
- JSP ページ内に静的に組み込まれたファイル
- JSP ページで使用されるタグ・ファイル (JAR ファイル内にあるタグ・ファイルは除く)
- JSP ページで使用される TLD ファイル (JAR ファイル内にある TLD ファイルは除く)
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -trackDependencies true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -trackDependencies true
ユース・ケース: 開発環境で役に立ちます。
デフォルト: false
- createDebugClassfiles
JSR 45「Debugging support for Other Languages」に従って、バッチ・コンパイラーで SMAP 情報を含むクラス・ファイルを生成するかどうかを指定します。
例: JspBatchCompiler -enterpriseApp.name sampleApp -createDebugClassfiles true
ユース・ケース: JSR 45 準拠の IDE で JSP ページのデバッグができるようにする場合は、このパラメーターを使用してください。
デフォルト: false
- keepgenerated
バッチ・コンパイラーが、変換フェーズ中に作成された生成済み Java ソース・ファイルを保存するか、消去するかを指定します。
true に設定すると、WebSphere Application Server は、 コンパイルに使用された .java 生成ファイルをサーバー上に保存します。この引数は、デフォルトでは false に設定されており、 クラス・ファイルのコンパイルが完了すると、.java ファイルは削除されます。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -keepgenerated true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -keepgenerated true
ユース・ケース: バッチ・コンパイラーが生成する Java コードを検討したい場合は、このパラメーターを使用してください。
デフォルト: false
- keepGeneratedclassfiles
バッチ・コンパイラーが、Java ソース・ファイルのコンパイル中に生成されたクラス・ファイルを保存するか消去するかを指定します。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -keepGeneratedclassfiles false -keepgenerated false
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -keepGeneratedclassfiles false -keepgenerated false
ユース・ケース: JSP ページに変換エラーまたはコンパイル・エラーがないかどうかを確認するためだけなら、このパラメーターを false に設定します。keepgenerated を false に設定すると、このパラメーターによって、 すべての生成済みファイルがバッチ・コンパイラー終了前に除去されます。
デフォルト: true
- usePageTagPool
個々の JSP ページ・ベースのカスタム・タグ・ハンドラーの再利用を有効または無効にします。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -usePageTagPool true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -usePageTagPool true
ユース・ケース: JSP ページ・ベースのタグ・ハンドラーの再利用を有効にするには、このパラメーターを使用してください。
デフォルト: false
- useThreadTagPool
カスタム・タグ・ハンドラーの再利用を、Web モジュールごとに要求スレッド・ベースで有効または無効にします。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -useThreadTagPool true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -useThreadTagPool true
ユース・ケース: Web モジュール・ベースのタグ・ハンドラーの再利用を有効にするには、このパラメーターを使用します。
デフォルト: false
- classloader.parentFirst
バッチ・コンパイラーに、 アプリケーション・クラス・ローダーより先に親クラス・ローダーを検索するように指示することで、 クラスをロードする際の検索順序を指定します。 このパラメーターは、ear.path または enterpriseApp.name が指定されている場合にのみ使用されます。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -classloader.parentFirst false
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -classloader.parentFirst false
ユース・ケース: Web モジュールに JAR ファイルが含まれ、サーバーの lib ディレクトリーにもこの JAR ファイルがある場合、このパラメーターを false に設定すると、Web モジュールの JAR ファイルが最初に選択されます。
デフォルト: true
- classloader.singleWarClassloader
エンタープライズ・アーカイブ (EAR) ファイルごとに 1 つのクラス・ローダーを使用するか、または Web アプリケーション・アーカイブ (WAR) ファイルごとに 1 つのクラス・ローダーを使用するかを指定します。ear.path または enterpriseApp.name が指定されている場合にのみ使用されます。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -classloader.singleWarClassloader true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -classloader.singleWarClassloader true
ユース・ケース: Web モジュールが同じエンタープライズ・アプリケーションの他の Web モジュールの JAR ファイルおよびクラスに依存している場合は、このパラメーターを true に設定します。
デフォルト: false。他の Web モジュール内のクラスに対する可視性を備えずに、WAR ファイルごとに 1 つのクラス・ローダーが作成されます。
- additional.classpath
JSP ページを構文解析およびコンパイルする際に使用される、 その他のクラスパス・エントリーを指定します。 このパラメーターは、war.path が指定されている場合にのみ使用されます。 war.path がターゲットである場合、WebSphere 共有ライブラリーはバッチ・コンパイラーによって選択されません。 そのため、WAR ファイルが、例えば、WebSphere Application Server で共有ライブラリーとして構成された JAR ファイルに依存している場合、このオプションを使用してその JAR ファイルを指定します。さらに、war.path を指定し、-extractToDir パラメーターも使用する場合には、 WAR ファイルのマニフェスト・クラスパスにある JAR ファイルはすべて、クラスパスに追加されません (WAR ファイルは、 常駐している EAR ファイルの外部に、それ自身で抽出されるようになったため)。 この場合は、-additional.classpath を使用して必要な JAR ファイルを指定します。 必要なリソースの絶対パスを、システム固有のパス分離文字で区切って追加します。
例: JspBatchCompiler -war.path c:¥myproject¥examples.war -additional.classpath c:¥myJars¥someJar.jar;c:¥myClasses
例: JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -additional.classpath /home/wasuser/myJars/someJar.jar:/home/wasuser/myClasses
ユース・ケース: WAR ファイルの外部にある JAR ファイルおよびクラスをクラスパスに追加するには、このパラメーターを使用します。実行時には、この同じ JAR ファイルおよびクラスが、WebSphere Application Server の標準的な構成メカニズムによって 使用可能になっている必要があります。
デフォルト: null
- verbose
生成済みソースのコンパイル中に、 バッチ・コンパイラーに冗長出力を生成させるかどうかを指定します。
例: JspBatchCompiler -war.path c:¥myproject¥examples.war -verbose true
例: JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -verbose true
ユース・ケース: Java コンパイラー・クラス・ロードその他のメッセージを確認する場合は、このパラメーターを true に設定します。
デフォルト: false
- deprecation
生成済みソースのコンパイル中に、コンパイラーが使用停止警告を生成するように指示します。
例: JspBatchCompiler -war.path c:¥myproject¥examples.war -deprecation true
例: JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -deprecation true
ユース・ケース: Java コンパイラーの使用停止メッセージを確認する場合は、このパラメーターを true に設定します。
デフォルト: false
- javaEncoding
.java ファイルが生成されるとき、および Java コンパイラーによってコンパイルされるときに使用されるエンコード方式を指定します。-javaEncoding が設定されていると、 そのエンコード方式が -encoding 引数を使用して Java コンパイラーに渡されます。 Jikes ではエンコードはサポートされていません。
例: JspBatchCompiler -war.path c:¥myproject¥examples.war -javaEncoding Shift-JIS
例: JspBatchCompiler -war.path/home/wasuser/myproject/examples.war -javaEncoding Shift-JIS
ユース・ケース: JSP ページのページ・エンコードが UTF-8 と互換性がない場合は、このパラメーターを設定します。
デフォルト値: UTF-8
- jdkSourceLevel
この JSP エンジン・パラメーターは、JDK 5 をサポートするために WebSphere Application Server バージョン 6.1 で導入されました。このパラメーターを compileWithAssert パラメーターの代わりに使用してください。ただし、バージョン 6.1 でも compileWithAssert は引き続き機能します。
このパラメーターのデフォルト値は 17 です。このパラメーターでは、Java ソースの再生成が必要です。以下に、jdkSourceLevel パラメーターの値を挙げておきます。- 値 13 は、JDK 1.4、JDK 5.0、JDK 6.0、JDK 7.0、および 8.0 の新規言語フィーチャーをすべて使用不可にします。
- 値 14 は、表明機能を使用可能にし、JDK 5.0、JDK 6.0、JDK 7.0、および 8.0 の新規言語フィーチャーをすべて使用不可にします。
- 値 15 は、表明機能を使用可能にし、JDK 6.0、JDK 7.0、および 8.0 の新規言語フィーチャーをすべて使用不可にします。
- 値 16 は、表明機能を使用可能にし、JDK 7.0 および 8.0 の新規言語フィーチャーをすべて使用不可にします。
- 値 17 は、表明機能を使用可能にし、JDK 8.0 の新規言語フィーチャーをすべて使用不可にします。
- 値 18 は、JDK 8.0 の新規フィーチャーを使用可能にします。
例: JspBatchCompiler -war.path c:¥myproject¥examples.war -jdkSourceLevel 14
ユース・ケース: JDK 1.4、JDK 5.0、JDK 6.0、JDK 7.0、および 8.0 の言語フィーチャーを使用可能または使用不可にする必要がある場合は、このパラメーターを設定します。
デフォルト値: 17
- compilerOptions
Java コンパイラー・コマンドで渡されるストリングのリストを指定します。 これは、「arg1 arg2 argn」という形式の、スペースで区切られたリストです。
例: JspBatchCompiler -war.path c:¥myproject¥examples.war -compilerOptions "-bootclasspath <path>"
例: JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -compilerOptions "-bootclasspath <path>"
ユース・ケース: 冗長、非推奨、および表明機能サポート以外の Java コンパイラー引数が必要な場合は、このパラメーターを使用します。
デフォルト: null
- useJikes
Java ソースのコンパイルに Jikes を使用するかどうかを指定します。 注: Jikes は WebSphere Application Server に同梱されていません。
例: JspBatchCompiler -ear.path c:¥myproject¥sampleApp.ear -useJikes true
例: JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -useJikes true
ユース・ケース: バッチ・コンパイラーで、Jikes を Java コンパイラーとして使用するためには、このパラメーターを true に設定します。
デフォルト値: false
- jsp.file.extensions
バッチ・コンパイラーによって処理されるファイル拡張子を指定します。 これは、*.ext1;*.ext2:*.extn という形式の、セミコロンまたはコロンで区切られたリストです。このパラメーターは、Servlet 2.4 Web アプリケーションでは不要である点に注意してください。これは、デプロイメント記述子にある jsp-property-group エレメントの url-pattern プロパティーを使用して、JSP ページとして扱われる拡張子を識別できるためです。
例: JspBatchCompiler -enterpriseApp.name sampleApp -jsp.file.extensions *jspz;*.jspt
ユース・ケース: バッチ・コンパイラーが処理する拡張子をそれ以外に追加する場合は、このパラメーターを使用します。
デフォルト: null。詳しくは、このトピックのセクション『JSP ファイル拡張子』を参照してください。
- log.level
バッチ・コンパイル中にコンソールに送信されるロギングのレベルを指定します。 値は、SEVERE | WARNING | INFO | CONFIG | FINE | FINER | FINEST | OFF
のいずれかです。例: JspBatchCompiler -enterpriseApp.name sampleApp -log.level FINEST
ユース・ケース: このパラメーターを高め、または低めに設定することで、ロギング出力を制御します。デバッグに適した出力が生成されるのは、ほとんどの場合 FINEST です。
デフォルト: CONFIG