Groovyスクリプトを実行可能jarに間単にまとめることができるって
id:fumokmmさんのところで紹介されていたGroovyスクリプトを実行可能jarにまとめられるというスクリプトが紹介されていた。
No Programming, No Life
セットアップ方法は非常に簡単。使用してみると確かにスクリプトとGroovyの実行に必要なjarが実行可能jarにひとまとめになった。
生成された実行可能jarはダブルクリックするなりコマンドラインから
java -jar hoge.jar
にて実行できるので、Groovyがインストールされていない環境でも実行できる。これが何より大きい。
動作時の僕の環境は以下のとおり。
$ groovy -version Groovy Version: 1.7.2 JVM: 1.6.0_20
Swingもいけるのか?
Swingアプリもいけるかと思って試してみた。
こちら(Groovy - Swing Builder)のSwingBuilderサンプルコードを拝借。
hello.Groovy
import groovy.swing.SwingBuilder import java.awt.BorderLayout as BL count = 0new SwingBuilder().edt { frame(title:'Frame', size:[300,300], show: true) { borderLayout() textlabel = label(text:"Click the button!", constraints: BL.NORTH) button(text:'Click Me', actionPerformed: {count++; textlabel.text = "Clicked ${count} time(s)."; println"clicked"}, constraints:BL.SOUTH) } }
上記hello.groovyを/tmpフォルダに作成。
ほいで実行可能jarを作成。
cd /tmp groovy GroovyWrapper.groovy -c-m hello
実行。
java -jar hello.jar
Swingアプリも問題なく起動を確認。ちょっとしたスクリプトを開発メンバーに公開するときに重宝しそうだ。
ディスカッション
コメント一覧
お!早速試してみてくれたんですね、ありがとうございます。
Swingもいけますよね。もともと私もSwingBuilderでアプリを作ってどうやって配布しようかなぁと考えていたときに見つけた記事だったんです。
ついでにhatenahaiku4jのjarなんかも織り交ぜて私は試してみましたがうまくいきました。
こんにちわ。これ便利です。ちょっとしたスクリプトをGroovyなし環境に配布したいときに活用できそうです。