java调用groovy方法

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/imHanweihu/article/details/80647099

项目中自己写的方法:

第一句:获取tomcat加载项目完成后的路径,再拼接groovy的包路径

/**
 * 反射动态调用groovy, 调用tt/sandy/APP/groovy/目录下的groovy
 * Create by Hanweihu on 2018-06-13 pm
 * @param groFullName  groovy的全名(包括扩展名)
 * @param params  参数,如果有多个,Object[] params = new Object[] {param1,param2,...};
 * @param methodName 调用的方法名
 * @return groovy计算的结果
 */
public Object useGroovyMethod(String groFullName, String methodName,Object params) {
    try {
	File sourceFile = new File(StringUtils.substring(Thread.currentThread().getContextClassLoader().getResource("")+"tt/sandy/APP/groovy/"+ groFullName, 6));
	GroovyClassLoader loader = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
	Class GroovyClass = loader.parseClass(sourceFile);
	GroovyObject instance = (GroovyObject) GroovyClass.newInstance();
	return instance.invokeMethod(methodName, params);
    } catch (Exception e) {
	System.out.println("调用groovy失败");
    }
    return "调用groovy失败";
}

猜你喜欢

转载自blog.csdn.net/imHanweihu/article/details/80647099
今日推荐