首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与纳什霍恩importPackage在graal.js脚本引擎中的等价

与纳什霍恩importPackage在graal.js脚本引擎中的等价
EN

Stack Overflow用户
提问于 2019-08-12 06:22:28
回答 1查看 734关注 0票数 0

我正在将旧代码从JDK 8迁移到JDK 12。

在此过程中,我注意到在使用importPackage脚本引擎时不存在"graal.js"。它在为脚本引擎使用"javascript"时存在。

有什么方法可以用"graal.js"实现相同的功能吗?GraalJS存储库上的Nashorn迁移文档没有涵盖这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-12 10:03:04

importPackage来自犀牛。即使是Nashorn也支持它,当仅使用load("nashorn:mozilla_compat.js");显式地请求Rhino/Mozilla兼容性时,请参阅Nashorn文档中的犀牛迁移指南

Graal.js有Nashorn兼容模式,在这种模式下它支持load("nashorn:mozilla_compat.js");

所以,你可以用

代码语言:javascript
复制
System.setProperty("polyglot.js.nashorn-compat", "true");
ScriptEngine engine = new ScriptEngineManager().getEngineByName("graal.js");
System.out.println(engine.eval("load('nashorn:mozilla_compat.js'); importPackage('java.awt'); new Point();"));

(它打印java.awt.Point[x=0,y=0],这表明包java.awt已成功导入)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57456476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档