2009年02月05日(木) [長年日記]
- Firefox 3.0.6がリリースされている。Firefoxは自動的にアップデートを通知してくれるから安心だよね、と思っていたら、自宅のFirefoxのバージョンが3.0.4だった。むむむ。どうやら管理ユーザでなく一般ユーザでログインしているとFirefoxの更新通知は機能しないみたい。以前は一般ユーザでも通知してくれていた気がするけどなあ。通知すべきだと思う。危ないので気をつけないと。
- あっ、引越ししてから1年経っていた。早い。新築だったのに汚れてきた。おれのせいなんだなあ。まだ家具が揃っていない。
- だからもう郵便は転送されてこないと。
■ [java][javascript] jrunscriptを使った
JDK6に付属しているjrunscriptを初めて使ったのでメモ。
先週メモしたプロパティファイルを読み込むクラスをjrunscript上で対話的に操作する例。
$ jrunscript -cp class:etc js> var loader = Packages.sample.PropertiesLoader() js> loader.load() {name=oreore, os=CentOS, lang=java} js> quit() $
一応Rubyのirbのように使える。が、Linuxだと(少なくともおれの環境では)履歴を辿ったり補完をしたりすることができず、シェルとして不便すぎてイマイチ使えない。Windowsで動かすと履歴は辿れる。ちなみに、Java DBのijコマンドにも同様の問題がある。
- Javaのクラスにアクセスするには、"トップレベルの変数" らしい Packages から辿る。「java」で始まるパッケージなどは Packages を省略できる。
- 対話モードを終了するには quit() を実行する。括弧を書かないとエラーになるのが面倒。
(追記)
上の実行例をよく見ると、sample.PropertiesLoader のインスタンスを作るときに new と書いていない。書いたつもりだったが。
が、new と書かなくても動くみたい。書いても動く。なんでだ。JavaScriptってそういう仕様なんだっけ?
参考
- Javaプラットフォームのスクリプト (JDK 6 ドキュメント)
- Rhino documentation (Mozilla Developer Center)
- Javascript(Rhino/jrunscript)から Java のリソースを利用する (himorogiの日記)
- 「Java SE 6完全攻略」第58回 Javaでマルチリンガル - スクリプト言語のサポート その1 (IT Pro) 「その11」まである