Groovy动态解析

Posted 红桃xin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy动态解析相关的知识,希望对你有一定的参考价值。

https://www.cnblogs.com/hunttown/p/6800591.html

//创建engine实例直接解析文本内容
ScriptEngineManager factory = new ScriptEngineManager();

//每次生成一个engine实例
ScriptEngine engine = factory.getEngineByName("groovy");
System.out.println(engine.toString());
assert engine != null;
Bindings binding = engine.createBindings();
binding.put("date", new Date());

//如果script文本来自文件,请首先获取文件内容
engine.eval("def getTime()return date.getTime();", binding);
engine.eval("def sayHello(name,age)return 'Hello,I am ' + name + ',age' + age;");
Long time = (Long) ((Invocable) engine).invokeFunction("getTime", null);
System.out.println(time);
String message = (String) ((Invocable) engine).invokeFunction("sayHello", "zhangsan", new Integer(12));
System.out.println(message);

以上是关于Groovy动态解析的主要内容,如果未能解决你的问题,请参考以下文章

Groovy动态解析

Groovy动态解析

Groovy 和 Jenkins - 将 curl 输出捕获到文件

Gradle 之 Groovy 的进阶

GroovyGroovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )

Groovy解析json