Я полагаю, что вы можете использовать какую-то Bean Scripting Framework (BSF), которая поддерживается Groovy, Groovy реализует BSF в org.codehaus.groovy.bsf.GroovyEngine
, вот быстрый пример использования BSFManager
@Grab('org.apache.bsf:bsf-api:3.1')
import org.apache.bsf.BSFManager
BSFManager manager = new BSFManager()
manager.declareBean("xyz", 4, Integer.class)
Object answer = manager.eval("groovy", "test.groovy", 0, 0, "xyz + 1")
assert 5 == answer
Пример из groovy do c. Этот ответ использует GroovyShell
, что является другим возможным решением для вашего примера.
код, протестированный с Groovy v2.5.1. Надеюсь, это поможет.