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