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);

posted on 2011-07-14 10:30 拒绝浮躁 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/mycoding/archive/2011/07/14/2106043.html

java调用、执行groovy代码相关推荐

  1. lisp java_从Java调用的LISP代码

    长篇小说: 我正在为我的函数编程类做一个项目,我想到在Lisp中为 Mario AI competition . 我正在研究从Java调用LISP代码的框架/库/方式,甚至更好的LISP Java互通 ...

  2. Java调用执行python脚本

    Java调用执行python脚本 一.python脚本执行方式 二.Java调用执行python脚本 三.关闭停止进程(端口)命令 四.java调用执行关闭进程杀掉相关进程 一.python脚本执行方 ...

  3. Java代码转换成groovy代码

    其实方法很简单,直接在idea上创建一个groovy的文件,然后把Java代码内容复制到groovy类中,idea会根据groovy的语法规则提示你需要修改哪些地方,这样的话从来没有接触过groovy ...

  4. JNI 最简单的Java调用C/C 代码

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! JNI_ ...

  5. JAVA调用c/c++代码

    JNI是Java Native Interface的缩写,中文为JAVA本地调用.使用JNI可以很方便的用我们的Java程序调用C/C++程序.很多时候,某些功能用Java无法实现,比如说涉及到底层驱 ...

  6. java调用SSIS java调用dtsx包 代码+图示

    今天,主管让研究SSIS,网上找了些资料,用VS2005,做了一个简单的资料导入功能.有了.dtsx文件 可是要怎么应用到我的java web程序呢.苦于网上资料很少,去微软的msdn上提问了,也无果 ...

  7. java触发器如何创建表_在java 中执行触发器代码、创表语句

    由于程序的需要,在SQLServer 中创建触发器及建表,碰到了在java 代码中执行创建触发器及表. /**建立中间表*/ public static final String createMidd ...

  8. java调用支付宝接口代码介绍

    App支付产品介绍 更新时间:2018-05-08 场景介绍 适用于商家在App应用中集成支付宝支付功能. 商家APP调用支付宝提供的SDK,SDK再调用支付宝APP内的支付模块.如果用户已安装支付宝 ...

  9. java调用app接口代码_java servlet手机app访问接口(二)短信验证

    今天找了几个短信平台,其实最想使用的一个是sharesdk,使用它上面http api短信功能,不仅价格低,而且最少可以充值100RMB,但是审核过于严格,对应APP还必须集成他们的短信功能,而且要上 ...

最新文章

  1. 2008-2018,5个版本互联网大脑模型的演进与对比
  2. 红盟过客提到的 CCIE 必读书籍
  3. ViSP中识别AprilTag的C++实例代码解释
  4. swift_021(Swift 的方法)
  5. 成功人士不用睡觉吗?
  6. 用动态规划算法求解最少硬币问题 c语言,动态规划算法求解硬币找零问题
  7. JS-深入理解继承(非class方式与class继承)
  8. 4月份全球新注册39.2万辆电动汽车 榜首并非Model 3
  9. 【工具】之搭建个人博客
  10. KMP + 求最小循环节 --- HDU 1358 Period
  11. linux下物理内存不足,vm中linux物理内存不足解决方案
  12. mysql 逻辑类型_MySQL逻辑架构(一)
  13. 财报识别OCR,披露虚假财务报表
  14. This scheduler instance is still active but was recovered by another instance in the cluster.
  15. Linux man中文手册的安装与使用
  16. Latex中自动引用参考文献的方法,一分钟搞定
  17. 大幅降低PUE绝非不可能 浪潮MDC如何打造梦幻王国?
  18. 学校计算机管理员考核,电脑室管理员工作职责是什么
  19. 5G基站射频传导测试研究与应用
  20. 申请审核和出库审核逻辑

热门文章

  1. web目录字典_Metasploit -- 目录详解及常用命令
  2. 运算放大器基本公式_运算放大器 - 产生的背景和解决的问题
  3. [开源]基于姿态估计的运动计数APP开发(三)
  4. 基于OpenCV的摄像头视频录制保存工具【附GIT源码地址】
  5. shell 删除乱码文件
  6. python如何读取文件夹下的子文件夹
  7. 使用OpenCV和Python从图像中提取形状
  8. 打破学习的玻璃墙_打破Google背后的创新深度学习
  9. 职业相关课程学习笔记
  10. 通过 dhcp-agent 访问 Metadata - 每天5分钟玩转 OpenStack(168)