使用JSR223与Rhino的接口,我已经开始遇到一些非常烦人的问题:
不良的异常信息(请参阅my other SO question)
无法使用ScriptableObject(最好将Javascript foo
变量设置为具有属性的Javascript值,这样我就可以将foo.bar
设置为其他内容,而将foo.baz
设置为其他内容。JSR223只允许我将root设置为root Java值的变量。)
无法设置只读变量/属性
如有必要,我会考虑改用Rhino作为本机脚本引擎,但这带来的痛苦是如果不付出很多额外的努力就无法支持其他语言。
除了JSR223,还有更好的抽象层吗?
我听说过Bean Scripting Framework,但不知道它的不同/更差/更好。我也遇到过Scripturian,对此一无所知。
最佳答案
这并不是一个真正的答案,但是从我的有限探索中,jsr223和bsf相当简单,并没有真正解决更强大的嵌入问题。如果您确实想要更好的集成,则需要使用本机桥。
关于java - Java +脚本引擎:JSR223和类似替代品之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5557265/