2010-01-05
posted at 11:34am
atomos を GAE で動かそうと試みる
まず
$ sudo gem install google-appengine
config.ru を書きかえたり、Gemfile を書いてから
$ dev_appserver.rb .
するとこんなエラーが出た。
cannot link Java class com.google.appengine.jruby.AppVersionUploadDelegate, probable missing dependency: Bad version number in .class file
ここのコメントに従い Java Preferences.app で Java SE 6 の優先順位を上げてやるとサーバーは立ち上がるようになった。
http://localhost:8080/ にアクセスすると次は
../dm-aggregates-0.10.2/lib/dm-aggregates/repository.rb:6:in `aggregate': undefined method `aggregate' for #<DataMapper::Adapters::AppEngineAdapter:0x2207d8bb> (NoMethodError)
dm-aggregates の count メソッドを使う所をコメントアウトするととりあえず見れるようになった。
パーマリンクにアクセスしようとすると別のエラーが
Application Error com/google/appengine/api/datastore/Query.java:478:in `<init>': java.lang.IllegalArgumentException: Filters of type org.jruby.RubyObject are not supported (NativeException)
調べてみると同じようなエラーに遭遇している人もいて condition に Date オブジェクトを渡しているのが問題らしい。
appengine_adapter.rb とか見てみたものの原因がすぐにはつきとめられなかったので今日はここまで。