加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy 之 java调用groovy

发布时间:2020-12-14 17:04:57 所属栏目:大数据 来源:网络整理
导读:java代码中执行groovy代码 package test;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class ScriptExcuteUtil {public ScriptExcuteUtil() {}/** * @param args */public static

java代码中执行groovy代码

package test;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class ScriptExcuteUtil {

	public ScriptExcuteUtil() {

	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ScriptEngineManager manager = new ScriptEngineManager();
		ScriptEngine engine = manager.getEngineByName("groovy");
		try {
			System.out.println("calling groovy from java start");
			engine.put("name","VerRan");
			engine.eval("println "${name}"+"你好";name=name+'!'");
			System.out.println(engine.get("name"));
			System.out.println("calling groovy from java end");
			
			engine.eval("");
		} catch (ScriptException e) {
			e.printStackTrace();
		}
	}

}

?

?

package test;

import groovy.lang.GroovyClassLoader;
import java.io.File;

public class InvokeGroovy {
	public static void main(String[] args) {
		ClassLoader cl = new InvokeGroovy().getClass().getClassLoader();
		GroovyClassLoader groovyCl = new GroovyClassLoader(cl);
		try {
			// 从文件中读取
			Class groovyClass = groovyCl.parseClass(new File(
					"C:mysource2GroovyLearngroovyfistFoo.groovy"));
			Class groovyClass2 = groovyCl
					.parseClass("package org.openjweb.groovy; rn import test.IFoo;rn class Foo implements IFoo {public Object run(Object foo) {return ((Integer)foo).intValue()+3}}");

			IFoo foo = (IFoo) groovyClass.newInstance();
			System.out.println(foo.run(new Integer(2)));

			IFoo foo2 = (IFoo) groovyClass2.newInstance();
			System.out.println(foo2.run(new Integer(2)));

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读