Java 7基于Rhino的JavaScript ScriptEngine设置系统属性“rhino.opt.level”

时间:2014-02-07 00:29:04

标签: java rhino javascript-engine

关于JavaScript ScriptEngine实现的java文档说,如果没有安全管理器处于活动状态,则可以设置系统属性“rhino.opt.level”。 (“当不使用安全管理器时,可以在[-1,9]范围内定义系统属性”rhino.opt.level“。默认情况下,该值设置为-1,这意味着禁用优化器。”,请参阅http://docs.oracle.com/javase/7/docs/technotes/guides/scripting/programmer_guide/#jsengine

我现在的问题是,如何做到这一点。我尝试将其设置为环境变量,并在代码中使用

System.setProperty("rhino.opt.level", "9");

但它对编译的脚本没有任何影响。是否需要将命令行参数传递给jvm或类似的东西?

编辑:我的测试代码:

String script = IOUtil.readTextFile("test.js", "UTF-8"); // reads the file's content

System.setProperty("rhino.opt.level", "9");

final ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName("JavaScript");

Compilable compiler = (Compilable) scriptEngine;

CompiledScript cs = compiler.compile(script);

cs.eval();

0 个答案:

没有答案