Для получения класса из текста скрипта используется метод getClazz, например:
GroovyClazz c = getApp().service(GroovyService.class).getClazz(MyBaseClass.class, "void onRun",
new File("myscript.groovy"), false);
Принцип простой: создается текст определения класса, который является потомком базового
класса, который передан первым параметром (в данном случае MyBaseClass). Затем для
класса создается метод, сигнатура которого переданна во втором параметре
(в данном случае void onRun). Текст, загруженный из указанного третьм параметром файла,
становится телом метода onRun. Последним параметром указывается, что текст скрипта
не шаблон. Если указать true, текст скрипта будет рассматриваться как шаблон GSP.
Также можно загружать текст скрипта из строковой переменной:
GroovyClazz c = getApp().service(GroovyService.class).getClazz(MyBaseClass.class, "void onRun",
"print('hello!')", false);
Полученный экземпляр GroovyClazz содержит методы для получения скомпилированного
java-класса (getClazz), получения исходников скрипта и др.