JavaからコンパイルされてないGroovyを呼び出す方法(クラス、メソッド)

前回に続き、JavaからGroovyスクリプを実行する方法。今回は通常のクラスの、インスタンスメソッドを実行する方法について紹介。

  GroovyClassLoader loader = new GroovyClassLoader(this.getClass().getClassLoader());
  Class cls = loader.parseClass(new File("....name.groovy"));

  // 以降は、通常のJavaクラスの呼び出しと同じようにリフレクションする

ルーズステートメントと違い、ただスクリプトを読み込んだだけでは、runメソッドは実行できないようです。そこで上記例のように、GroovyClassLoaderを使ってクラスを読み込みます。
前回の例と同じように、....name.groovy のところを該当のスクリプトファイル名に置換すれば動作するはずです。その他、オプションなど詳しいことは、Javadochttp://groovy.codehaus.org/api/index.html)で確認してください。