java groovy整合记录步骤如下:
1、eclipse安装groovy的插件。
2、创建java project。
3、把groovy-all-2.1.9.jar,加入classpath。
4、编写hello.groovy脚本文件,并在java代码中调用脚本文件
相关项目架构如下:
Hello.java如下:
package com.yiming.java; import java.io.File; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyObject; public class Hello { public static void main(String[] args) throws Exception{ String path="src/com/yiming/groovy/Hello.groovy"; execGroovy(path,"main",new Object[]{"xx","xxxxx"}); } /** * 有perm 内存溢出的风险 * @throws Exception */ public static Object execGroovy(String path,String methodName,Object[] args) throws Exception{ ClassLoader parent = ClassLoader.getSystemClassLoader(); GroovyClassLoader loader = new GroovyClassLoader(parent); Class<?> gclass = loader.parseClass(new File(path)); GroovyObject groovyObject = (GroovyObject) gclass.newInstance(); Object obj = groovyObject.invokeMethod(methodName, args); System.out.println("返回值:"+obj); return obj; } }
Hello.groovy如下:
package com.yiming.groovy import com.yiming.java.Person; class Hello { public static void main(String[] args){ println args println 'hello,groovy!' def p=new Person("张三","男"); println p.name; } }
Person.java如下:
package com.yiming.java; public class Person { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Person(String name, String sex) { this.name = name; this.sex = sex; } @Override public String toString() { return "Person [name=" + name + ", sex=" + sex + "]"; } }
项目下载地址如下:http://download.csdn.net/detail/yx511500623/6912785
不需要配置groovy_home、添加到path;只需要把groovy的jar包添加到classpath中。