我必须将项目从 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 中有没有正确的方法来处理这个问题?