Я начал сталкиваться с некоторыми действительно раздражающими проблемами при использовании интерфейсов JSR223 для Rhino:
- плохая информация об исключении (см. мой другой вопрос SO)
- невозможность использования ScriptableObject (было бы неплохо установите для переменной Javascript
foo
значение Javascript со свойствами, чтобы я мог установитьfoo.bar
на что-то, аfoo.baz
на что-то еще. JSR223 просто позволяет мне устанавливать корневые глобальные переменные в значения Java.) - невозможность установить переменные/свойства только для чтения
При необходимости я бы подумал о переходе на Rhino как на собственный скриптовый движок, но это связано с невозможностью поддерживать другие языки без дополнительных усилий.
Есть ли лучший уровень абстракции, кроме JSR223?
Я слышал о Bean Scripting Framework, но не уверен, чем он отличается/хуже/лучше. Я также наткнулся на Scripturian и понятия не имею об этом.