java调用、执行groovy代码
1: package test;
2:
3: import javax.script.ScriptEngine;
4: import javax.script.ScriptEngineManager;
5: import javax.script.ScriptException;
6:
7: public class ScriptExcuteUtil {
8:
9: public ScriptExcuteUtil() {
10:
11: }
12:
13: /**
14: * @param args
15: */
16: public static void main(String[] args) {
17: ScriptEngineManager manager = new ScriptEngineManager();
18: ScriptEngine engine = manager.getEngineByName("groovy");
19: try {
20: System.out.println("calling groovy from java start");
21: engine.put("name", "VerRan");
22: engine.eval("println \"${name}\"+\"你好\";name=name+'!'");
23: System.out.println(engine.get("name"));
24: System.out.println("calling groovy from java end");
25:
26: engine.eval("");
27: } catch (ScriptException e) {
28: e.printStackTrace();
29: }
30: }
31:
32: }
1: package test;
2:
3: import groovy.lang.GroovyClassLoader;
4: import java.io.File;
5:
6: public class InvokeGroovy {
7: public static void main(String[] args) {
8: ClassLoader cl = new InvokeGroovy().getClass().getClassLoader();
9: GroovyClassLoader groovyCl = new GroovyClassLoader(cl);
10: try {
11: // 从文件中读取
12: Class groovyClass = groovyCl.parseClass(new File(
13: "C:\\mysource2\\GroovyLearn\\groovy\\fist\\Foo.groovy"));
14: Class groovyClass2 = groovyCl
15: .parseClass("package org.openjweb.groovy; \r\n import test.IFoo;\r\n class Foo implements IFoo {public Object run(Object foo) {return ((Integer)foo).intValue()+3}}");
16:
17: IFoo foo = (IFoo) groovyClass.newInstance();
18: System.out.println(foo.run(new Integer(2)));
19:
20: IFoo foo2 = (IFoo) groovyClass2.newInstance();
21: System.out.println(foo2.run(new Integer(2)));
22:
23: } catch (Exception e) {
24: e.printStackTrace();
25: }
26: }
27: }
ClassLoader 的另一种方式
ClassLoader parent = ClassLoader.getSystemClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
转载于:https://www.cnblogs.com/mycoding/archive/2011/07/14/2106043.html
java调用、执行groovy代码相关推荐
- lisp java_从Java调用的LISP代码
长篇小说: 我正在为我的函数编程类做一个项目,我想到在Lisp中为 Mario AI competition . 我正在研究从Java调用LISP代码的框架/库/方式,甚至更好的LISP Java互通 ...
- Java调用执行python脚本
Java调用执行python脚本 一.python脚本执行方式 二.Java调用执行python脚本 三.关闭停止进程(端口)命令 四.java调用执行关闭进程杀掉相关进程 一.python脚本执行方 ...
- Java代码转换成groovy代码
其实方法很简单,直接在idea上创建一个groovy的文件,然后把Java代码内容复制到groovy类中,idea会根据groovy的语法规则提示你需要修改哪些地方,这样的话从来没有接触过groovy ...
- JNI 最简单的Java调用C/C 代码
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! JNI_ ...
- JAVA调用c/c++代码
JNI是Java Native Interface的缩写,中文为JAVA本地调用.使用JNI可以很方便的用我们的Java程序调用C/C++程序.很多时候,某些功能用Java无法实现,比如说涉及到底层驱 ...
- java调用SSIS java调用dtsx包 代码+图示
今天,主管让研究SSIS,网上找了些资料,用VS2005,做了一个简单的资料导入功能.有了.dtsx文件 可是要怎么应用到我的java web程序呢.苦于网上资料很少,去微软的msdn上提问了,也无果 ...
- java触发器如何创建表_在java 中执行触发器代码、创表语句
由于程序的需要,在SQLServer 中创建触发器及建表,碰到了在java 代码中执行创建触发器及表. /**建立中间表*/ public static final String createMidd ...
- java调用支付宝接口代码介绍
App支付产品介绍 更新时间:2018-05-08 场景介绍 适用于商家在App应用中集成支付宝支付功能. 商家APP调用支付宝提供的SDK,SDK再调用支付宝APP内的支付模块.如果用户已安装支付宝 ...
- java调用app接口代码_java servlet手机app访问接口(二)短信验证
今天找了几个短信平台,其实最想使用的一个是sharesdk,使用它上面http api短信功能,不仅价格低,而且最少可以充值100RMB,但是审核过于严格,对应APP还必须集成他们的短信功能,而且要上 ...
最新文章
- 2008-2018,5个版本互联网大脑模型的演进与对比
- 红盟过客提到的 CCIE 必读书籍
- ViSP中识别AprilTag的C++实例代码解释
- swift_021(Swift 的方法)
- 成功人士不用睡觉吗?
- 用动态规划算法求解最少硬币问题 c语言,动态规划算法求解硬币找零问题
- JS-深入理解继承(非class方式与class继承)
- 4月份全球新注册39.2万辆电动汽车 榜首并非Model 3
- 【工具】之搭建个人博客
- KMP + 求最小循环节 --- HDU 1358 Period
- linux下物理内存不足,vm中linux物理内存不足解决方案
- mysql 逻辑类型_MySQL逻辑架构(一)
- 财报识别OCR,披露虚假财务报表
- This scheduler instance is still active but was recovered by another instance in the cluster.
- Linux man中文手册的安装与使用
- Latex中自动引用参考文献的方法,一分钟搞定
- 大幅降低PUE绝非不可能 浪潮MDC如何打造梦幻王国?
- 学校计算机管理员考核,电脑室管理员工作职责是什么
- 5G基站射频传导测试研究与应用
- 申请审核和出库审核逻辑