1

JavaScript ScriptEngine 実装に関する Java ドキュメントには、アクティブなセキュリティ マネージャがない場合、システム プロパティ「rhino.opt.level」を設定できると記載されています。(「セキュリティ マネージャーが使用されていない場合、システム プロパティ "rhino.opt.level" は [-1, 9] の範囲で定義できます。デフォルトでは、値は -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();
4

0 に答える 0