そんなこんなで、いや、どんなこんなか知らんが。Groovy を Windows にインストールして、 .groovy を関連付けしてやった。
だけど、うまく動かん。 jvm.dll がロードできないというようなことを言われる。よくよく調べてみると俺の環境の問題だった。JVM は x86 と x64 の両バージョンがインストールされてるんだが、JAVA_HOME が x64 を向いているとそうなるっぽい。他に干渉しそうな、Java アプリは何も使ってないので、JAVA_HOME に x86 バージョンを使うことにした。で、動くようにはなった。
そして今度はコマンドプロンプトから起動したときに問題が。 groovy foo.groovy arg1 … したときにはコマンドライン引数が引き渡されるんだけど、 .\foo.groovy arg1 … ってしたときには引き渡されない。うーん、どうしたもんか。よくわからんから追求しないことにするw
最後に tips みたいなの。アイコンをダブルクリックで起動した場合、bat ファイルとかと同じく工夫しないとコンソールに出てきた結果を確認する前にすぐ閉じてしまう。
.bat だったら、最後に pause って書いておけばいいんだけど、 Groovy ではそうはいかない。そんなの知らんって言われる。ので、
System.in.read()
を最後に入れておけばいい。そうすればエンターキーを叩くまで待っていてくれる。これは瞬間記憶能力が平均的な俺には、真夏の外出先からの帰宅直後に食べるアイスのような、要するに、とてもありがたい。
追記: Kubuntu/Linux 9.04 (AMD64)で libmawt.so がロードできない件
groovy は動くんだけど、groovysh とか groovyConsole が起動できないってパターン。どこかの設定を変えればいいんだろうが、CLASSPATH を変更するってわけじゃないだろうし、わからんのでとりあえずこうした。
$ cd /usr/lib/jvm/java-6-sun/jre/lib/amd64
$ sudo ln -s xawt/libmawt.so .
これで動くようになるっちゃ。