日曜日, 5月 31, 2009

[Scala] GAE/JでJDO!

GoogleAppEngine/Javaではディスクが無いことからJDO/JPAでのデータ保存が必須です。

これをピュアScalaで(Javaクラスを使わず)やっている例題scalagaeを見つけたのだが、うまく動かず苦労。

原因は「java.lang.VerifyError」が出てしまうことだったのだが、これはJDO実装であるDataNucleusのバグである様子。v1.1.3に入れ替えたら無事に動きました。
具体的には、D:\appengine-java-sdk-1.2.1\lib\tools\ormにあるdatanucleus-enancer-1.1.0.jarが悪いのでdatanucleus-enhancer-1.1.3.jarに入れ替えます。

あと、コマンドラインからGAEにuploadするとき、app_idはscalagae\WEB-INF\appengine-web.xmlに書かれるので、適宜書き換えましょう。