JAVA17使用JS ScriptEngine

JAVA动态 运算符判断要借用  js

 

当我写下下面代码

     ScriptEngineManager manager = new ScriptEngineManager();
        // 创建脚本执行引擎
        ScriptEngine engine = manager.getEngineByName("js");
        // 执行逻辑判断
        boolean ret = (boolean) engine.eval("1 == 2");

        boolean ret2 = (boolean) engine.eval("2 == 2 && 1 == 1");
        boolean ret3 = (boolean) engine.eval("2 == 2 || 1 == 2 && ( 3==3 )");

 

居然报engine 是null值

百度了十分钟,终于找到

JavaScript引擎在高版本移除掉了,所以报这个错误

于是添加引用

 

      <dependency>
            <groupId>org.openjdk.nashorn</groupId>
            <artifactId>nashorn-core</artifactId>
            <version>15.4</version>
        </dependency>

代码即可运行

 

posted @ 2022-12-28 10:18  清风神剑  阅读(997)  评论(0编辑  收藏  举报