Jakarta BSFを使う

 BSF (Bean Scripting Framework) とは、ごく簡単に言うと、 Java言語による実装が存在するスクリプト言語を、Java VM上で解釈実行するための共通の APIフレームワークです。 特にポピュラーなものとしては、次の3つの言語が知られています。 (括弧内はその言語に対して最もよく知られているJava実装処理系の名前とリンクです)

BSFの最新のバージョンは2.3.0で、この上でRhino 1.5R3、Jython 2.1〜2.2a0、 Jacl 1.3.0を動作させることができます。 しかし、Jythonでは日本語の文字列を出力しようとすると文字化けしてしまい、 どうしてもこれが解決しないので、ここではJythonは対象外とし、 RhinoとJaclの例のみ対象とします。
 なお、BSFのサイトの こちらのページ に書かれているように、BSF 2.3.0の下で動くRhinoのバージョンは 1.5R1から1.5R3までで、最新の1.5R4は試してみましたが動きません

 セットアップは簡単で、上記の各サイトからバイナリ配布を入手して、 それぞれbsf.jar、js.jar、jython.jar、jacl.jar(とtcljava.jar) をCLASSPATHの通ったディレクトリに配置すればOKです。


各処理系をコマンドラインで試す方法

 BSFをコマンドラインで実行するには、

% java org.apache.bsf.Main

とするとヘルプメッセージが出てくるのでそれに従います。 例えば、

% java org.apache.bsf.Main -in test.tcl -mode exec

とすると、Tclスクリプトtest.tclが実行されます。 スクリプト言語は拡張子から自動的に推測されますが、明示的に指定したい場合は、 -lang オプションで「jacl」「javascript」などと指定します。

また、Rhino処理系をコマンドラインで実行するには、

% java org.mozilla.javascript.tools.shell.Main

または

% java -jar js.jar

とすると対話シェルが起動し、コマンドラインの後ろにスクリプト名をつけるとそれが実行されます。

 Jaclの場合も同様で、tcl.lang.Shellを実行します。 jaclshというスクリプトが配布の中に入っているので、これを使うこともできます。 Jaclについて詳しくは こちらのサイト で説明しています。

Java kowaza Top

(first uploaded 2003/08/10 last updated 2003/08/10, URANO398)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル