Java中调用groovy程序

Java中调用groovy程序

Java中调用groovy程序有一下几种方法

1)  Bean Scription Framework JSR 223规定

2)  groovyShell

3)  GroovyClassLoader

4)  GroovyScriptEngine

5)  嵌入式控制台

使用最常用的GroovyClassLoader

         其它方式不常用而已不方便,所有不展开讲解

Groovy文件

package com.rabbit.groovy

/**
 * Created by HASEE on 2018/6/21.
 */
public class MyGroovy {

    //获取最大值
    def Integer getMax(List values) {
        values.max()
    }

}

Java调用代码

package com.rabbit.groovy;

import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyObject;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by HASEE on 2018/6/22.
 */
public class MyJava {

    public static void main(String[] args) {
        GroovyClassLoader loader = new GroovyClassLoader();
        try {
            Class groovyClass = loader.parseClass(new File("MyGroovy.groovy"));
            GroovyObject object = (GroovyObject)groovyClass.newInstance();
            List<Integer> numbers = new ArrayList<Integer>();
            numbers.add(1);
            numbers.add(2);
            numbers.add(3);
            numbers.add(4);
            numbers.add(10);
            Object[] arguments = {numbers};
            Object values = object.invokeMethod("getMax", arguments);
            System.out.println("values = [" + values + "]");
        } catch (Exception e) {

        }
    }

}


展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读