java呼叫groovy方法
阿新 • • 發佈:2018-11-05
專案中自己寫的方法:
第一句:獲取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失敗"; }