java - ScriptEngine 的 JDK16 问题(使用 Graal)
问题描述
这是我的代码示例,它在第 67 行给了我一个脚本引擎错误(这就是 engine.eval("load . . . . . . 现在读完它说我应该给所有访问权限(我知道这是在受保护)。这样做的最佳方式或方法是什么?
(显然,这段代码还有更多内容,但这就是我遇到的问题。)
protected Invocable getInvocable(String path, Client c, boonlean npc) {
FileReader fr = null;
try {
path = "scripts/" + path;
ScriptEngine engine = null;
if (c != null) engine = c.getScriptEngine(path);
if (npc) System.out.println(path);
if (engine == null) {
File scriptFile = new File(path);
if (!scriptFile.exists()) return null;
engine = sem.getEngineByName("graal.js");
if (c != null) c.setScriptEngine(path, engine);
fr = new FileReader(scriptFile);
engine.eval("load('nashorn:mozilla_compat.js');" + System.lineSeparator());
engine.eval(fr);
}
else if (c != null && npc) {
c.removeClickedNPC();
NPCScriptManager.getInstance().dispose(c);
c.getSession().write(CWvsContext.enableActions());
return null;
}
return (Invocable) engine;
它确实说我没有使用 import org.graalvm.polyglot.Context; 注意:我一直使用旧版本的 java,所以不熟悉实现新版本的方法。我尝试了在线方法,但不确定我做错了什么。
解决方案
推荐阅读
- java - Rest Assured - 使用 RestAssured 进行测试时出现操作超时错误。但是相同的端点在浏览器中工作正常
- list - 在 Scheme 中搜索定义的列表
- java - 如何获取列表视图?
- wordpress - YOAST 的自定义永久链接问题 - 在 page-template.php 之前显示 category.php
- pandas - 按类别着色 - plotly scattermapbox
- react-native - 如何将 Redux 与 createSwitchNavigator 一起使用?
- ruby-on-rails - Rails循环中断不断循环
- node.js - Cassandra 循环读取
- uwsgi - 让多个 uWSGI 工作者的一个实例执行一项额外的功能
- spring-mvc - Thymeleaf + Spring:如何在模板文件中写入“[]”?