У меня есть заводной сценарий, как:параметров проходят от Явы до Groovy
import groovy.sql.Sql
Object execute(def params = null) {
def sql = new DBUtils().getConnection()
println "sql params : " + params
...
}
и класс Java будет вызывать этот сценарий как:
Class scriptClass = new GroovyClassLoader().parseClass(new File(url)) ;
Object scriptInstance = scriptClass.newInstance() ;
String param = {"test"};
Object obj = scriptClass.getDeclaredMethod("execute", new Class[] {})
.invoke(scriptInstance, new Object[] {param} ) ;
Я пробовал различные аргументы формата, но ни один из они работают. Вышеуказанный образец будет бросать java.lang.IllegalArgumentException: wrong number of arguments
Любые мысли? оценили.
Куда вы выбрали исключение? – RamenChef