Я в настоящее время использую Nashorn в проекте, и я хотел бы создать ScriptEngine
от NashornScriptEngineFactory
только с ClassFilter
, чтобы защитить мой скрипт, чтобы избежать неожиданного вызова в некоторые библиотеки. И я хотел бы также добавить аргументы на завод (здесь --strict
, чтобы выполнить все функции javascript в строгом режиме).Почему у NashornScriptEngineFactory нет возможности получить ScriptEngine только с ClassFilter и args?
я нашел только эти прототипы в 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)
Может кто-нибудь мне помочь?
Просто используйте экземпляр ClassLoader для класса, который вызывает 'getScriptEngine()'. Например, просто передайте 'this.getClass(). GetClassLoader()'. – Pointy
@Pointy Кажется, это работает как шарм. Большое спасибо. Позвольте вам ответить на вопрос, если хотите. Я буду отмечать это как правильное. –