Java:在应用程序中嵌入脚本引擎:JSR 223(ScriptEngine)仍然是一个很好的解决方案吗?

我想在我的
Java应用程序中使用一种或多种脚本语言.

JRuby website我发现有3种方式:

>使用Java 6(使用JSR 223:脚本)
>嵌入Bean脚本框架(BSF)
>直接调用$YOUR_SCRIPTING_ENGINE $API

由于我需要支持多个脚本引擎,我认为选项3不够好.

在寻找解决方案时1. JSR 223:脚本,我开始寻找包含所有脚本引擎集成的zip存档

Download and unzip the collection of jars from the documents and files section of the site (jsr223-engines.tar.gz or jsr223-engines.zip).

但这个文件在网上无处可去(project home的下载部分是空的.如果我想我可以下载源代码并构建我需要的enngines集成.源代码看起来很旧(我看到的是2年)

JSR 223仍然存在并且是一个很好的解决方案吗?
如果不是Bean Scripting Framework是一个不错的选择?这最后有一个非常差的文档页面,只支持几种脚本语言(但它支持我想要的大多数语言)…

最佳答案 我在几个应用程序中嵌入了沙盒Rhino,发现直接使用Rhino代码更容易.

除非您想要嵌入多种不同的语言或想要在已经安装了JSR 223 jar的VM上进行部署,否则我认为您不会从额外的抽象层中获益.

我强烈建议,在选择要嵌入的语言时,请考虑沙盒的容易程度.

点赞