Greetings, I am using Groovy 2.4.15-indy. I am having a problem executing a Groovy function through reflection. Here is the Groovy code:
class Example { static Object myMethod(Object ... args) { System.out.println("Hello from groovy!") int r = (Integer) args[0] + (Integer) args[1]; return r } } And here is the Java code: static void test() throws IOException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { String fname = "/home/blake/intellijProjects/Arahant/src/java/com/arahant/custom/Example.groovy"; GroovyClassLoader groovyLoader = new GroovyClassLoader(GroovyClass.class.getClassLoader()); Class<?> groovyClass = groovyLoader.parseClass(new GroovyCodeSource(new File(fname)), false); Class<?> [] ca = { Object[].class }; Method methp = groovyClass.getMethod("myMethod", ca); Object r = methp.invoke(null, 4, 5); // Here is where the error occurs int x = 1; // place for a breakpoint } At the indicated location, I am getting the error: java.lang.IllegalArgumentException: wrong number of arguments I have tried a veriety of alternatives with no success. Any help would sure be appreciated. Thanks! Blake McBride