小编Jus*_*tMe的帖子

在 Java 17 中使用 Javascript 脚本引擎

我必须将项目从 Java 8 迁移到 Java 17。

我可以解决大多数问题,但它包含一个方法,在该方法中我使用 ScriptEngineManager 来评估数学术语。

 ScriptEngineManager mgr = new ScriptEngineManager();
 ScriptEngine e = mgr.getEngineByName("JavaScript");
 
 String t = "5*7";
 if (isMathTerm(t)) {
    System.out.println(e.eval(t).toString());
 }
Run Code Online (Sandbox Code Playgroud)

在 Java 8 中它按要求工作,但在 Java 17 中e始终为 null。

据谷歌称,Java 17 不再支持 JavaScript 引擎。

由于项目限制,我不允许使用第三方库。

Java 17 中有没有正确的方法来处理这个问题?

java eval scriptengine java-17

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

eval ×1

java ×1

java-17 ×1

scriptengine ×1