在Java Rhino(JSR223)中替换实际文件名

在我的代码中,所有脚本都包含在.js文件中.每当其中一个脚本包含错误时,我会得到:

javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:未定义“nonexistant”. <未知来源>中的(<未知来源>#5)在第5行

我错误的是< Unknown Source>.多个文件位于一个ScriptContext中,并且很难跟踪错误.它看起来也很可怕.

有没有办法替换< Unknown Source>用实际的文件名?我看到的所有方法都没有支持传递File对象,所以我真的很困惑.

最佳答案
使用ScriptEngine.FILENAME常量:

scriptEngine.put(ScriptEngine.FILENAME,scriptFile.toString());

转载注明原文:在Java Rhino(JSR223)中替换实际文件名 - 代码日志