我有一个项目要完成,但我不能使用javax.script,所以我可以使用Nashorn但不能使用javax.script吗?
发布于 2016-08-01 21:13:09
您可以使用jdk/bin中的jjs命令行工具来评估脚本。该工具可以评估来自文件/urls的脚本,也可以在交互模式下工作。该工具不使用Nashorn,而是直接使用javax.script
发布于 2016-08-01 22:31:11
你可以直接使用Nashorn API,例如,你可以从jdk.nashorn.api.scripting.NashornScriptEngineFactory类开始,但是很多API都隐式地依赖于javax.script包。不过,我不知道为什么会有这样的限制;javax.script是一个标准的JDK包,从Java1.5或6开始,它就存在于每个Java运行时中。
也就是说,直接使用API允许您获得定制的ScriptEngine,因为NashornScriptEngineFactory为getScriptEngine()方法提供了一些重载,允许您传递jjs命令行参数、引擎使用的自定义类加载器等等。
使用Nashorn API直接购买的另一件小事是,您将知道您肯定会得到一个Nashorn引擎,如果您只是向javax.script索要一个JS引擎,您可能无法确定这一点。
https://stackoverflow.com/questions/38697050
复制相似问题