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

时间:2011-03-18 23:48:27

标签: java scripting scriptengine

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

JRuby website我发现有三种方式:

  1. 使用Java 6(使用JSR 223:脚本)
  2. 嵌入Bean脚本框架(BSF)
  3. 直接拨打$ YOUR_SCRIPTING_ENGINE $ APIs
  4. 由于我需要支持多个脚本引擎,我认为选项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是一个不错的选择?这最后有一个非常差的文档页面,只支持很少的脚本语言(但它支持我想要的大部分语言)......

1 个答案:

答案 0 :(得分:2)

我在几个应用程序中嵌入了沙盒Rhino,发现直接使用Rhino代码更加容易。

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

我强烈建议您在选择要嵌入的语言时考虑沙盒。