プログラムの実行は?
では、作成したプログラムを実行しましょう。作成した「SampleJFrame.groovy」ファイルを選択し、<実行><実行><Groovy>メニューを選んでください。スクリプトを実行し、JFrameのウインドウが現れますよ。
実行するとJFrameのウインドウが現れる。数字を書いてボタンを押すと合計を表示する。 |
Eclipseで実行するときはこれでOKですが、作成したスクリプトファイルを直接実行する場合はどうすればよいのでしょうか。これには、いくつかの方法がありますが、もっとも基本となるのはコマンドプロンプトから実行する方法です。
コマンドプロンプトを開き、cdコマンドでSampleJFrame.groovyファイルがある場所にカレントディレクトリを移動してください。そして、
groovy SampleJFrame.groovy
このように実行すれば、スクリプトファイルを直接実行させることができます。groovy拡張子で実行するプログラムとしてGroovyの「bin」内にあるGroovy.batを登録しておけば、スクリプトファイルをダブルクリックするだけで実行できるようになります。
Javaクラスファイルが作られていた!
ところで、プロジェクトのフォルダを開き、作成したSampleJFrame.groovyファイルを探してみると、ちょっと不思議なことに気がつきます。同じフォルダに、「SampleJFrame.class」というファイルが作成されているのです。これって、ひょっとして……?
そうです。これは、Javaのクラスファイルなのです。Groovyは、スクリプトファイルをコンパイルしてJavaのクラスファイルを生成することができるのです。これこそが、「GroovyはJavaの一種だ」といわれる最大の理由なのです。
Groovyで作成したJavaクラスを実行する場合、Groovyの「lib」フォルダ内にある「groovy-xx.jar」「asm-xx.jar」(xxはバージョン)という2つのファイルをクラスパスの通っている場所に配置しておけばOKです。JREの「lib」内にある「ext」フォルダの中に2つのファイルをコピーしておけばよいでしょう。
Groovyは、Javaをベースとしてさまざまな文法上の拡張を付加したスクリプト言語であるのは確かですが、しかし同時に「100% pure Java」なプログラムでもあるのです。Groovyで書いたスクリプトは、pure JavaなクラスファイルとしてJavaのプログラムとまったく変わらずに利用することができます。
であるならば――なぜ、わざわざ文法上の制約の多いJavaで書かなければならないのでしょうね? Groovyを使えば、こんなにも簡単に、面倒なことを考えることなく「Javaのプログラム」を作れるというのに。ねえ?