4

Javaアプリケーションで1つまたは複数のスクリプト言語を使用したい。

JRubyのWebサイトから、次の3つの方法があることがわかりました。

  1. Java 6の使用(JSR 223の使用:スクリプティング)
  2. Bean Scripting Framework(BSF)への埋め込み
  3. $ YOUR_SCRIPTING_ENGINE$APIを直接呼び出す

複数のスクリプトエンジンをサポートする必要があるため、オプション3では十分ではないと思います。

解決策1を探すとき。JSR223:スクリプト、すべてのスクリプトエンジン統合を含む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).

しかし、このファイルはネット上にはありません(プロジェクトホームのダウンロードセクションは空です。必要に応じて、ソースをダウンロードして、必要なエンジン統合を構築できます。ソースコードは古く見えます(私が見たものでは2年以上)

JSR 223はまだ生きており、選択するのに適したソリューションですか?そうでない場合は、Beanスクリプティングフレームワークが良い代替手段ですか?この最後のドキュメントページは非常に貧弱で、サポートされているスクリプト言語はごくわずかです(ただし、必要な言語のほとんどをサポートしています)...

4

1 に答える 1

2

サンドボックス化されたRhinoをいくつかのアプリケーションに埋め込んだところ、Rhinoコードを直接操作する方がはるかに簡単であることがわかりました。

複数の異なる言語を埋め込んだり、すでにJSR 223 jarが配置されているVMにデプロイしたりする場合を除いて、抽象化レイヤーの追加によるメリットはあまりないと思います。

埋め込む言語を選択するときは、サンドボックス化の容易さを考慮に入れることを強くお勧めします。

于 2011-03-19T01:24:25.507 に答える