【发布时间】:2019-10-09 13:04:30
【问题描述】:
以前有人问过这个问题,我尝试了每个建议的解决方案,但都失败了。
我在 myapp/src/main/resources 中放了一个 javascript 文件 (hl.js)
我尝试使用“解决方案”中的以下代码阅读它:
1 - getRsourcesAsStream。返回空输入流。
InputStream is = this.class.classLoader.getResourceAsStream("hl.js")
2 - getResource - 返回 null
File myFile = grailsApplication.mainContext.getResource("hl.js").file
3 - 带有类加载器的 getResourceAsStream - 返回 null。
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream("hl.js");
有趣的是,如果我执行以下操作:
String fileNameAndPath = this.class.classLoader.getResource("hl.js").getFile()
System.out.println(fileNameAndPath);
File file = new File(fileNameAndPath)
InputStream is = file.newInputStream();
打印出来:
/Users/me/dev/grails_projects/myapp/src/main/resources/hl.js
但 "is" 始终为空。
我正在尝试获取输入流,以便可以通过 nashorn 评估 javascript:
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval(is)
Grails 3.3.8
有什么想法吗?
【问题讨论】:
标签: grails