我正在尝试在编译的 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/