JRubyで作ったRailsアプリをJavaで動かす。
Jruby on Rails on Tomcatを参照しながら。
環境は- JRuby-1.1.1
- Rails2.0.2
- GoldSpike
Copy the generated file $YOUR_APP_NAME.war to $TOMCAT_HOME/webapps and it should auto deployらしいので、それはめんどくさい。GoldSpikeはjettyつかって、webrickみたいに単体で起動できる。
jruby -S rake war:standalone:run普通にrailsアプリ作って、scaffoldでgenerateして、migrateするとエラー。jdbcのconnector(今回はmysqlのコネクター)が見つからないそうです。mysql.comからダウンロードしてきて、以下に置く。
RUBY_HOME\libmigrateは成功し、テーブルが作られたので起動してみる。
起動は成功したが、ここでもconnectorがClassNotFoundExceptionとなる。う~んなんで、RUBY_HOME\libにおいたんだろう??。
ま~深く考えずWEB-INF\lib以下にコネクターを置いて、再度起動。インデックスは表示できたけど、newにアクセスすると以下のエラー
ActionController::InvalidAuthenticityToken in People#new
う~んよくわからんから、ググってみるとGoldSpikeのせいみたい。Goldspike怪しいって書いてるし。
Tomcat6+Rails2.0.2(Goldspike)な環境で色々問題が
しょうもなかった。
jrubyで作ったrailsアプリのprotect_from_forgeryの値がコメントされてる。
これコメントはずしてやればすんなり動いた。
でも、起動したjettyを終了する方法がわからん。バッチでctrl+cやるとバッチは終了するけど、javaのプロセスが残ってるし。






コメントする