matsukaz's blog

Agile, node.js, ruby, AWS, cocos2d-xなどなどいろいろやってます

GAEでRhinoを動かしてみた

GAEの実行環境では、デフォルトではスクリプトエンジンは何も入ってません。

ScriptEngineManager manager = new ScriptEngineManager();
log.info(manager.getEngineFactories().size());   // 0

スクリプトを動かしたい場合は、対象のスクリプトエンジンを組み込めば利用できます。というわけでRhinoを動かす手順。

  1. Rhinoダウンロードして、js.jar を WEB-INF/lib に配置。
  2. dev.java.netよりJSR-233 Enginesをダウンロードして、javascriptエンジンのjs-engine.jar を WEB-INF/lib に配置。


これで動いた。

ScriptEngineManager manager = new ScriptEngineManager();
log.info(manager.getEngineFactories().size());   // 2

for(ScriptEngineFactory factory : manager.getEngineFactories()){
  log.info(factory.getEngineName());          // Mozilla Rhino, Mozilla Rhino
  log.info(factory.getEngineVersion());       // 1.6 release 2, 1.6R7
  log.info(factory.getLanguageName());        // EmbeddedECMAScript, ECMAScript
  log.info(factory.getLanguageVersion());     // 1.6, 1.6
}