我目前在一個項目中使用Nashorn,我想創建NashornScriptEngineFactory
的ScriptEngine
,只有ClassFilter
爲了保護我的腳本以避免對某些庫的意外調用。我還想向工廠添加參數(這裏是--strict
以便在嚴格模式下執行所有javascript函數)。爲什麼NashornScriptEngineFactory不能僅通過ClassFilter和args獲得ScriptEngine?
我發現只有這些原型在NashornScriptEngineFactory
:
public ScriptEngine getScriptEngine()
public ScriptEngine getScriptEngine(final String... args)
public ScriptEngine getScriptEngine(final ClassFilter classFilter)
public ScriptEngine getScriptEngine(final ClassLoader appLoader)
public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader)
public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter)
我不知道爲什麼沒有原型:
public ScriptEngine getScriptEngine(final String[] args, final ClassFilter classFilter)
誰能幫助我?
只需使用調用'getScriptEngine()'的類的ClassLoader實例即可。就像,只要通過'this.getClass()。getClassLoader()'。 – Pointy
@Pointy它似乎像一個魅力工作。非常感謝。如果你願意,我讓你回答這個問題。我會將其標記爲正確的。 –