我在我的应用程序中使用 rhino 脚本。我发现在不同的环境下它的工作方式不同。例如,在 open-jdk 上,此代码不起作用
eval("JSON.stringify({id:1})")
而在 Oracle 的 JDK 上工作。
这显然是因为每个 JDK 都包含它自己的 Rhino 实现。
我在依赖项中添加了以下内容:
<dependency>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7R4</version>
</dependency>
如何指定使用此实现?
更新:我不是直接调用 rhino,而是通过 javax.script API
new ScriptEngineManager().getEngineByName("JavaScript").eval("JSON.stringify({})")