在Java里需要用到 动态脚本的地方,可以使用groovy,比较方便。
// require(url:'https://scripting.dev.java.net', jar:'groovy-engine.jar')
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class CalcMain {
public static void main(String[] args) throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("groovy");
// basic example
System.out.println(engine.eval("(1..10).sum()"));
// example showing scripting variables
engine.put("first", "HELLO");
engine.put("second", "world");
System.out.println(engine.eval("first.toLowerCase() + second.toUpperCase()"));
}
} JSR-233 自JAVA6开始就携带了,但是他只是一个规范。
他支持多个JVM平台的脚本语言。
这里使用到groovy我们还需要,groovy对应的实现代码。
maven
org.codehaus.groovy
groovy-all
2.1.6
groovy-all-x.x.x.jar 提供了groovy 本身的库,以及对JSR-233的实现。