No Programming, No Life

プログラミング関連の話題や雑記

Groovyスクリプトをダブルクリックで実行できるjar形式に変換するGroovyスクリプト

はじめに

ちょっとタイトルがまどろっこしいですが、要するにexecutable-jarをAntBuilderを利用して作っちゃいましょうという話題です。これは便利!これでGroovyスクリプトの配布が楽になるかも。
とても簡単にGroovyスクリプトを配布可能&実行可能なjarにまとめることができます。

Chipotle Mexican Grill
というページをたまたま発見しまして、これを利用することで簡単にできるようです。

以下にexecutable-jarを生成してくれるGroovyスクリプトを載せます。*1

GroovyWrapper.groovy


適当なフォルダにたとえば以下のようなスクリプトファイルを置いて

hello.groovy

cd ${適当なフォルダへのパス}
groovy GroovyWrapper.groovy -c -m hello

これで完成。

出来上がったjarは

java -jar hello.jar

のようにすれば起動できる。

解説

動作としてはまず.groovyを.classにコンパイルしてからGROOVY_HOMEのlibやらembeddableやらにあるjarファイルを一つのjarにマージしているようです。
// add more jars here という部分に自分が使うjarを追加してあげればGroovyスクリプト内から利用する全機能をexecutable-jarに同梱することができます。これは便利!このスクリプトを使えばGroovyスクリプトを配布しやすくなりますね。
また、ちょっと目的と外れますが、CliBuilderのいいサンプルにもなってますね。

蛇足

ところで、org.codehaus.groovy.tools.FileSystemCompilerって何だろう??groovyc的なことをしているようだが…

*1:といっても[http://communitymapbuilder.org/display/GROOVY/WrappingGroovyScript:title]の内容ほぼそのままですが^^;

*2:zipgroupfilesetについて参考にした