15【hutool】hutool-script

843 阅读1分钟

该系列文章主要是对 hutool 工具类的介绍,详情可以参考

hutool.cn/docs

针对Script执行工具化封装

script模块主要针对Java的javax.script封装,可以运行Javascript脚本。

支持 js 脚本,python,lua 等

默认支持 js 脚本,若要支持其他类型的脚本,需要添加额外的jar包

如 需要 java 对 python 的支持

        <dependency>
            <groupId>org.python</groupId>
            <artifactId>jython</artifactId>
            <version>2.7.2</version>
            <scope>provided</scope>
        </dependency>
@Test
public void evalTest() {
    ScriptUtil.eval("print('Script test!');");
}

@Test
public void invokeTest() {
    final Object result = ScriptUtil.invoke(ResourceUtil.readUtf8Str("script/javaScript.js"), "add", 2, 1);
    Console.log(result);
}

@Test
public void pythonTest() throws ScriptException {
    final ScriptEngine pythonEngine = ScriptUtil.getPythonEngine();
    pythonEngine.eval("print('Hello Python')");
}

@Test
public void invokePyTest() throws ScriptException {
    final ScriptEngine pythonEngine = ScriptUtil.getPythonEngine();
    pythonEngine.eval(ResourceUtil.readUtf8Str("script/python.py"));
}