JSPC コンパイラ

JSPC コンパイラは、Web サーバーのコンテキストの外部で JSP をコンパイルするために使用するコマンドライン ツールです。JSPC コンパイラを使用すると、JSP の要求時に JRun を使用して JSP をコンパイルするのではなく、コマンド ラインから明示的に JSP をコンパイルできます。


メモ

JSPC コンパイラは、JRun での JSP のコンパイルに使用されるコンパイラと同じコン パイラです。唯一異なる点は、JSPC コンパイラはコマンド ラインから起動すること です。


いくつかの理由により、作成したサーブレットをコンパイルしなければならない場合があります。たとえば、JSP の開発段階で、ページの Web 要求によってコンパイルを開始するよりも、明示的にページをコンパイルしたほうがエラーを簡単に修正できる場合があります。または、セキュリティ上の理由から、JSP のコンパイルを無効にして、テキスト ベースの .jsp ファイルではなく、バイナリの .class ファイルのみを配布できます。

JSPC コンパイラに必要なソフトウェア

JSPC コンパイラを使用するには、次のソフトウェアが必要です。

JSPC コンパイラの起動

次のコマンドを使用して JSPC コンパイラを起動します (JRun バージョン 3.1 ではパラメータが変更されているので注意してください)。

java [-classpath classpath]
  JSPC 
  -j jrun_root_dir
  -s server
  -a web_application_name
  [-webroot path_to_web_root]
  [-vghn]
  [-d output_directory] 
  [-compiler "compiler_spec"] 
  JSP_path
classpath

java コマンドへのクラスパスを指定します (オプション)。このクラスパスは、 コマンド ラインから、または CLASSPATH 環境変数を使用して指定できます。 クラスパスには、次のパスを指定する必要があります。

j

JRun のルート ディレクトリを指定します。

s

サーバー名を指定します。

a

Web アプリケーション名を指定します。

webroot

Web アプリケーションのルート ディレクトリへの絶対パス (オプション)。この 引数は、use-webserver-root プロパティが true に設定されている Web アプリ ケーションに必要です。この引数は -w のように省略できます。

v

JSPC によるコンパイル時に、各 JSP ファイルの名前を表示するように指定します (オプション)。

g

デバッグ メッセージを表示するように指定します (オプション)。

h

JSPC コンパイラのヘルプ メッセージを表示するように指定します (オプション)。

n

対応する .class ファイルよりも新しい JSP のみをコンパイルするように指定 します (オプション)。

d

JSPC コンパイラが .class および .java ファイルの出力を書き込む場所を指定 します (オプション)。既定では、このディレクトリは現在の作業ディレクトリに 設定されます。

通常は、Web アプリケーションのディレクトリ構造の WEB-INF¥jsp ディレクトリ を指定します。

compiler

コンパイラ、およびコンパイルに使用するコンパイラ設定を含む、引用文字列を 指定します (オプション)。このパラメータを省略すると、JRun では Sun javac コンパイラを使用して、インプロセスで JSP をコンパイルします。コンパイラの 設定の詳細については、を参照してください。

ここでコンパイラを指定する場合は、"JSP コンパイラ"で説明したものと同じ形式 を使用します。次に例を示します。

java JSPC -compiler "javac -nowarn -classpath %c -d %d %f" ...

または

java JSPC -compiler "jvc /cp:c %c /dest:%d %f" ...
JSP_path

ファイル システム上の JSP の物理パスを、-a パラメータで指定された Web アプリ ケーションへの相対パスで指定します。複数のファイルをスペースで区切って指定 できます。ワイルドカード文字を使用して、複数のファイルを指定することもでき ます。

-a によって指定されたディレクトリと JSP_path を組み合わせて、コンパイル する JSP を指定します。たとえば、-ac:¥myapps¥store にある Web アプリケー ションで、コンパイルする JSP が c:¥myapps¥store¥my.jsp の場合、ページの JSP_path は my.jsp です。

複数の JSP をコンパイルする場合は、ワイルドカード文字を JSP_path に含める ことができます。


メモ

JSPC コンパイラを使用して、use-webserver-root プロパティが true に設定されて いる Web アプリケーションを処理する場合は、-webroot 引数を指定する必要があり ます。たとえば、default JRun サーバーの既定のアプリケーションでは、
use-webserver-root が true に設定されています。


JSPC コンパイラの例

次に、ページ foo.jsp をコンパイルする例を示します。このページは、c:¥myapps¥store にドキュメント ルート ディレクトリを持つ Web アプリケーションの一部です。この例には、既定の JRun コンパイラを書き換えるコンパイラの指定も含まれています。この例では、JSPC コンパイラを実行するために必要な設定は、CLASSPATH 環境変数に含まれています。

java JSPC -j c:¥jrun
  -s qatest
  -a storeapp
  -d c:¥myapps¥store¥WEB-INF¥classes 
  -compiler "pathtojikes¥jikes -classpath %c -d %d %f" 
  foo.jsp 

次の例では、既定の JRun コンパイラを使用して、複数の JSP をコンパイルします。JSP_path にワイルドカードが使用されていることに注意してください。

java JSPC -j c:¥jrun -s qatest -a storeapp -v -d
    c:¥myapps¥store¥WEB-INF¥classes *.jsp store¥*.jsp