java - 为什么 Java Nashorn __DIR__、__LINE__ 和 __FILE__ 为空?

标签 java javascript java-8 scriptengine nashorn

我正在尝试在编译的 JavaScript 文件中获取 __DIR____LINE____FILE__ Nashorn globals由 Java Nashorn Engine (JDK 8) 评估。

但是,它们都返回NULL...

它们与某些特定的 Nashorn 配置有关吗? documentation 中什么也没说关于使它们正常工作的任何其他配置。

最佳答案

我知道这是一个老问题,但当我想出一个简单的解决方案时,我想分享它以帮助面临同样问题的人。

事实上,您可以轻松地让 __FILE____DIR____LINE__ 正常工作,而不是像往常一样:

engine.eval(new FileReader("path_to_your_js"));

你实际上调用了一个小的 JS 代码来加载你的文件:

engine.eval("load('path_to_your_js')");

关于java - 为什么 Java Nashorn __DIR__、__LINE__ 和 __FILE__ 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24647743/

相关文章:

javascript - 对内联元素使用 ScrollWidth

javascript - 获得total_sum后如何使用Checkbox计算增值税

java - 如果存在 Java 8 的 Optional,则方法返回

java - 使用流收集列表中最大的连续序列整数

java - 使用 Scanner 从 Java 的命令提示符读取整数

java.lang.StringIndexOutOfBoundsException 和 showInputDialog

javascript - 需要一个 Java 生成器(如果可能的话,使用正则表达式)

lambda - 将流与类和子类一起使用的最佳方法

java - Spring Boot部署 war

java - XAMPP 上的 Apache,Tomcat 9(不在 XAMPP 上)未实现 HTTP PATCH 501 方法