一、需求:java执行.groovy文件
二、实现,以下是java文件
package com.example.demo;
import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyObject;
import groovy.util.GroovyScriptEngine;
import groovy.util.ResourceException;
import groovy.util.ScriptException;
import java.io.File;
import java.io.IOException;
import org.testng.annotations.Test;
/** @Author: lxx @Date: 2021/5/11 9:42 上午 */
public class testGroovy {
@Test
public void testGroovy()
throws IOException, IllegalAccessException,
InstantiationException {
GroovyClassLoader classLoader = new GroovyClassLoader();
//根据path定义groovy文件
File groovyFile = new File("/Users/username/gitpro/untitled/src/test.groovy");
Class scriptClass = classLoader.parseClass(groovyFile);
GroovyObject scriptInstance = (GroovyObject) scriptClass.newInstance();
//调用该groovy文件的方法并传入参数
Object ret = scriptInstance.invokeMethod("testLOAN", "45");
System.out.println(ret);
}
}
以下是groovy文件
/**
* @Author: lxx* @Date: 2021/5/12 4:05 下午
*/
class test {
static void main(args){
println this.testLOAN("3333")
}
public static String testLOAN(String num){
return "hello world"
}
}