1. 程式人生 > >java呼叫groovy方法

java呼叫groovy方法

專案中自己寫的方法:

第一句:獲取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失敗";
}