Rhinoについて

Rhino は全てを Java によって書かれたオープンソースな JavaScript の実行環境です。

… なーんてことが, Rhinoのページ (English) に書かれていたりするです。 つまりは, JavaScriptなんだけど, でも Java言語との親和性もよいってことかな。 ま, 詳しいことは そちらの資料にまかせるとして, とりあえずソレを動かせるよーな環境を作ってみましょー。

ダウンロード

ホントはここにもブツを添付してるんだけど, 最新版が出たり, それとも何かあったとき, (←「何か」って何)
ジツブツを持ってるのがよいかもです。 てなことで, Mozillaサイトからソレを downloadしてみましょー。

download後ソレを展開してみると, たとえばこんなファイルが見つかるはずです。 (バージョンとか異なるとパスが違うかもだけど) → rhino1_5R4_1/js.jar
そう, ソレが今回の目当てのブツって訳です。

実行環境をアレしてみる

ダウンロードして ソレを眺めているだけでは何も起こりまへん。 この jarファイルを Javaの引数に指定して起動する, その手順が必要です。

でもそこに, Javaのバージョンの壁が立ちはだかります。なーんちて。 Java2は やはり新しいだけあって, 指定が簡単になってたり, それなりに便利になってるです。 ところが なんてゆーか Java 1.1.8とかだと, ちと面倒カモ。 ま, batchファイル用意すりゃ, なんとかできるかもだけど。

そんな訳で, 環境に合わせた起動方法の紹介です。
まず, 環境変数 JAVA_HOMEには \java141\jreとか \java142\jre みたいなのをセットしてるとして, その上で (ユーザーが作成した)JavaScriptファイルを起動してみるには …

Java 1.2以降(Java2) の場合

先ほどの js.jar を指定して起動するだけ。

 %JAVA_HOME%\bin\java -jar /usr/local/rhino1_5R4_1/js.jar JavaScriptファイル名

だけど, JavaScript Tools の中のJavaScript compilerとか動かしたりすることを考えれば, js.jarファイルは Javaの実行環境の中の /lib/ext/ に放り込むのも手かも知れません。 その場合だと, 起動するときに こんな感じに指定するだけ。 (単に -jar js.jar って感じで指定できた気がするけど, 違ったっぽいね)

 %JAVA_HOME%\bin\java -jar %JAVA_HOME%/lib/ext/js.jar JavaScriptファイル名
あるいは
 %JAVA_HOME%\bin\java org.mozilla.javascript.tools.shell.Main JavaScriptファイル名

つっても, J2SE 1.4の「クラスの検索方法」とか読んでみると, ユーザークラス(に該当すると思うけど) は, -classpath オプションか, -jar オプション使って指定した方がよさげみたい。

Java 1.1.8の場合

Java2を使わずに, あえて Java 1.1.8を使うってのも, ソレはソレでよいものがあったりする。 ソレは, なかなか起動が速いってメリットだったり, 最小公倍数ってなことで, どこでも動くって感じがするから。

さて, そこで Rhino.cmd の登場だったりして。 で, そこには (↓)こーゆーのを記述してたりする。 導入したとこの環境はそれぞれ違うから, ソレなりに変更してくらはい。

  1. @ この, 実行する行を表示しない
  2. C:\java11\bin\java jreでも構わないんだけど, こっちのが速い感じなので
  3. -nojit JITを使わないことで起動を速く (でも起動後は遅いかもだけど)
  4. -classpath Class Pathの指定 …
    1. /usr/local/rhino1_5R4_1/js.jar; Rhino自体
    2. C:\java11\lib\classes.zip; Java 1.1.8ベースクラス
    3. /usr/local/swing-1.1.1fcs/swing.jar; Swingを使うときのために
  5. org.mozilla.javascript.tools.shell.Main JavaScriptのメインのクラス名
  6. %1 %2 %3 %4 %5 %6 %7 %8 %9 JavaScriptファイル名とかを指定するとき置き変わる

Rhino.cmdの中でほぼすべてを指定しているので, 起動は簡単。

 Rhino JavaScriptファイル名

環境が整った(はず)なら, 確認してみよー

(それぞれの環境で)準備ができたら, 動くかどーか確認してみよー。 実は, JavaScriptファイル名 を指定せずに起動してみると, JavaScript(Rhino)のプロンプトが表示されるのだ。 そのことによって正しく指定できているのか簡単に確認できたりする。 プロンプトはこんな感じのものが表示される。

 Rhino 1.5 release 4.1 2003 04 21
 js>

ここで, いきなり JavaScriptをコーディングしてみても, 終了しても, どちらでも構わないかも。 終了方法は quit() を実行するか, EOFの^Zを入力するだけ (EOFのキー操作は OSによって異なるけど)。
JavaScriptの動きを見てみたいばーいは, 1+1 とか, 何か計算式でも入力するのもよいかも。あまりに単純だと意味なさそーだけど。(^^;

Mozillaサイトからソレを download した場合は, で示されているプログラムが examplesディレクトリに入っているので, 動かしてみるのもよいかも。

予定

JavaScriptつーか, Javaって, 環境を越えていろいろアレできるですよ。 つー訳で, Rhinoでのソフトウェアも公開してみたいな〜ってことで, そのうち σ(^^) のページ でももしかすると取り扱うかも。 そんな予感の今日このごろでした。